HAVING
Cerita awalnya saya ingin merapikan koleksi ebook yang tercecer dan tanpa sadar terduplikasi di sana-sini. Solusi yang terpikirkan adalah menggunakan hash (dalam hal ini menggunakan MD5), yakni setiap file diambil nilai hash-nya kemudian dimasukkan ke tabel di database beserta PATH file tersebut. Untuk mencari file yang sama tinggal query nilai hash yang sama. Ketika saya coba query berikut ini:
SELECT *,count(*) jml FROM tbl_ebooks WHERE count(*)>1 GROUP BY hash;
Ternyata MySQL mengeluarkan pesan error alias tidak sesuai dengan kaidah MySQL. Setelah tanya sana-sini (googling), dapat juga triknya. Pakai keyword HAVING, sehingga query-nya menjadi:
SELECT *,count(*) jml FROM tbl_ebooks GROUP BY hash HAVING count(*)>1 ORDER BY jml desc;
Wahaha, ternyata terlupakan dialek SQL itu. Saatnya baca-baca kembali.
Advertisement