Mencari dan Menghapus Duplikat record pada MySQL

mysql

Setelah lama saya tidak menulis tentang bahasa pemrograman, hari ini saya mau memberikan sedikit tips mengenai MySQL. Lebih tepatnya bagaimana mencari dan menghapus duplikat record pada MySQL.

Pada kesempatan ini saya akan memberikan contoh pada tabel “coba” seperti pada gambar berikut :

create table sql

dari gambar di atas sangat jelas terdapat duplikat data.

Untuk mencari data Duplikat pada database MySQL tersebut, kita dapat menggunakan query berikut :

Query mencari duplikat data pada MySQL :

SELECT *, COUNT(noInduk) AS duplikat
FROM coba
GROUP BY noInduk HAVING COUNT(noInduk) > 1

hasil dari query di atas adalah seperti berikut :

cek duplikat query

Jika sudah ketemu data yang duplikat, terus sering kali timbul pertanyaan bagaimana cara menghapus data yang duplikat tersebut namun tetap menyisakan satu data yang benar di tabel?

Berikut ini query yang dapat digunakan untuk menjawab pertanyaan di atas :

Query menghapus duplikat data pada MySQL :

DELETE FROM coba
WHERE id NOT IN
(
    SELECT MIN(id)
    FROM (SELECT * FROM coba) AS X
    GROUP BY noInduk
)

Hasil dari Query hapus duplikat data di atas adalah seperti berikut :

query hapus duplikat data

Jika kita tampilkan data dengan query select, maka hasilnya adalah seperti berikut :

hapus duplikat data mysql

Semoga sedikit tutorial mengenai cara mencari dan menghapus duplikat record pada MySQL dapat membantu dan bermanfaat.

Tags:

Leave a Reply