Query untuk Mencari Data yang Dobel di Database


Untuk mencari data yang dobel dalam sebuah database kita bisa menggunakan sebuah query sederhana yang bisa kita implementasikan antara lain di MySQL dan MS SQL (saya belum pernah menggunakan database lain seperti Oracle, atau PostgreSQL yang juga banyak digunakan orang).
Sebagai contoh, saya memiliki sebuah tabel berisi data buku perpustakaan bernama tblBuku dengan field JudulBuku, NomorRegistrasi dan TanggalMasuk. Suatu ketika terjadi kesalahan pengisian data sehingga ada banyak data dengan JudulBuku yang sama atau NomorRegistrasi yang sama. Untuk menemukan data yang terinput lebih dari sekali tersebut kita menggunakan query berikut ini :

SELECT JudulBuku, COUNT(*)
FROM tblBuku
GROUP BY JudulBuku
HAVING ( COUNT(JudulBuku) > 1 )

Query tersebut akan menghasilkan sebuah tabel dengan kolom JudulBuku dan jumlah kemunculannya, di mana jumlah kemunculannya adalah lebih dari 1 atau dengan kata lain dobel.
Query tersebut pada dasarnya adalah sama dengan query yang biasa kita gunakan untuk menghitung jumlah kemunculan data dengan syarat yang kita kenakan. Misalnya query untuk menghitung jumlah buku yang masuk di tahun 2008 sebagai berikut :

SELECT JudulBuku, COUNT(*)
FROM tblBuku
WHERE YEAR(TanggalMasuk) = ‘2008’
GROUP BY JudulBuku

Lalu untuk memisahkan mana data yang muncul lebih dari sekali atau dengan kata lain dobel tinggal ditambahkan syarat :

HAVING ( COUNT(JudulBuku) > 1 )

Leave a comment