GROUP BY tidak "menghapus duplikat". GROUP BY memungkinkan untuk agregasi. Jika Anda hanya ingin menggabungkan baris duplikat, gunakan SELECT DISTINCT.
Jika Anda perlu menggabungkan baris yang merupakan duplikat di beberapa kolom, gunakan GROUP BY tetapi Anda perlu menentukan apa yang harus dilakukan dengan kolom lainnya. Anda dapat menghilangkannya (dengan tidak mencantumkannya dalam klausa SELECT) atau menggabungkannya (menggunakan fungsi seperti SUM, MIN, dan AVG). Misalnya:
SELECT watch.watch_id, COUNT(rec.street_number), MAX(watch.watch_date)
... GROUP by watch.watch_id
EDIT
OP meminta beberapa klarifikasi.
Pertimbangkan "tampilan" -- semua data yang disatukan oleh FROM dan JOIN dan WHERE -- sebut itu V. Ada dua hal yang mungkin ingin Anda lakukan.
Pertama, Anda mungkin memiliki baris duplikat sepenuhnya yang ingin Anda gabungkan:
a b c
- - -
1 2 3
1 2 3
3 4 5
Kemudian cukup gunakan DISTINCT
SELECT DISTINCT * FROM V;
a b c
- - -
1 2 3
3 4 5
Atau, Anda mungkin memiliki baris duplikat sebagian yang ingin Anda gabungkan:
a b c
- - -
1 2 3
1 2 6
3 4 5
Dua baris pertama itu "sama" dalam beberapa hal, tetapi jelas berbeda dalam arti lain (khususnya, keduanya tidak digabungkan dengan SELECT DISTINCT). Anda harus memutuskan bagaimana menggabungkannya. Anda dapat membuang kolom c sebagai tidak penting:
SELECT DISTINCT a,b FROM V;
a b
- -
1 2
3 4
Atau Anda bisa melakukan semacam agregasi pada mereka. Anda dapat menambahkannya:
SELECT a,b, SUM(c) "tot" FROM V GROUP BY a,b;
a b tot
- - ---
1 2 9
3 4 5
Anda bisa menambahkan memilih nilai terkecil:
SELECT a,b, MIN(c) "first" FROM V GROUP BY a,b;
a b first
- - -----
1 2 3
3 4 5
Atau Anda dapat mengambil mean (AVG), standar deviasi (STD), dan salah satu dari sekumpulan fungsi lain yang mengambil sekumpulan nilai untuk c dan menggabungkannya menjadi satu.
Apa yang sebenarnya bukan pilihan adalah tidak melakukan apa-apa. Jika Anda hanya membuat daftar kolom yang tidak dikelompokkan, DBMS akan membuat kesalahan (Oracle melakukannya - pilihan yang tepat, imo) atau memilih satu nilai lebih atau kurang secara acak (MySQL). Tetapi seperti yang dikatakan Dr. Peart, "Ketika Anda memilih untuk tidak memutuskan, Anda tetap telah membuat pilihan."