Senin, 26 Juli 2021

Query MySQL Untuk Mencari dan Menghapus Data Duplikat


 



Assalamuaikaum Wr. Wb

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

Skript 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)

Skript untuk Hapus data Duplikat


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)

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


Sekian Semoga Bermanfaat

Tidak ada komentar:
Tulis komentar

Kategori