Adakalanya kita memiliki data duplikat pada database / table tertentu. tentunya hal ini diakibatkan oleh kurangnya filter pada form yang menjadi input ke database ataupun salahnya pembentukan database itu sendiri yang dapat mengakibatkan data duplikat.
untuk menghapus data duplikat tersebut tentnunya kita perlu mencari terlebih dahulu, berikut script untuk mencari data duplikat
select * from [nama_table]
WHERE [field] IN (SELECT dupid FROM (SELECT MAX([field]) AS dupid,COUNT(*) AS dupcnt
FROM [nama_table]
GROUP BY [field ] HAVING COUNT(*) > 1) AS duptable)
Keterangan :
[nama_table] = nama table
[ field ] = field yang terdapat duplikat data
Dari script tersebut akan muncul data - data yang terinput lebih dari 1x, untuk menghapusnya kita dapat lakukan dengan mengganti select * menjadi delete , seperti dibawah :
delete from [nama_table]
WHERE [field] IN (SELECT dupid FROM (SELECT MAX([field]) AS dupid,COUNT(*) AS dupcnt
FROM [nama_table]
GROUP BY [field ] HAVING COUNT(*) > 1) AS duptable)