Sebuah catatan saya sadur dari stackoverflow, siapa tau ada yang membutuhkan bagaimana cara menghapus duplikat data pada table MySQL.
Dibawah ini adalah query sederhana bagaimana melakukan penghapusan data yang duplicate pada table MySQL. Terkadang query ini diperlukan saat kita ingin membersihkan data pada table yang memiliki data duplicate namun tetap ingin menyisakan satu data valid.
NB – You need to do this first on a test copy of your table!
When I did it, I found that unless I also included AND n1.id <> n2.id
, it deleted every row in the table.
1) If you want to keep the row with the lowest id
value: Ini adalah cara menghapus duplicate data namun menyisakan satu data dengan ID terendah.
DELETE n1 FROM names n1, names n2 WHERE n1.id > n2.id AND n1.name = n2.name
2) If you want to keep the row with the highest id
value: Ini adalah cara menghapus duplicate data namun menyisakan satu data dengan ID tertinggi.
DELETE n1 FROM names n1, names n2 WHERE n1.id < n2.id AND n1.name = n2.name
Semoga dapat membantu dan bermanfaat.