SQL – Cara Simpel Menghapus Duplicate Row dan Menyisakan 1

By , June 2, 2017,
SQL - Cara Simpel Menghapus Duplicate Row dan Menyisakan 1

SQL – Cara Simpel Menghapus Duplicate Row dan Menyisakan 1 / gambar: sputnikmoment.com

SQL – Cara Simpel Menghapus Duplicate Row dan Menyisakan 1 – Tutorial kali ini akan membahas bagaimana mendelete atau menghapus ketika data pada tabel row database terjadi penggandaan data atau duplicate.

Menghapus data duplicate memang perkara mudah dan sepele. Namun masalahanya data yang terduplikat adalah banyak data, bisa ratusan, ribuan bahkan puluhan ribu data. Ini juga saya alami ketika saya memasukkan data menggunakan import excel kedalam database. Ternyata data yang terduplikat sangat banyak sekali. Jika di hapus satu persatu mau berapa lama klik di phpmyadmin.

Kelebihannya adalah kita dapat membaca dan mencari duplicat data menggunakan query sql dan menghapusnya baik itu duplicat 2 atau lebih, namun tetap menyisakan 1 baris data yang asli.

Cara Simpel Menghapus Duplicate Row dan Menyisakan 1

Untuk kasus ini, contoh saya menggunakan tabel database dengan nama “tb_kata”, untuk fieldnya yaitu:

  1. idKata
  2. kata

Sebelum kita menghapus penggandaan data tersebut alangkah baiknya kita lihat terlebih dahulu data mana saja yang terduplicate pada tabel tersebut, caranya:

Cek duplicate data

SELECT *, COUNT(*) AS nFROM kata GROUP BY kata HAVING n>1

Penjelasan dari query diatas adalah, perintah menghitung kata yang lebih dari satu pada field atau kolom kata dengan menggrupkan kata.

Delete duplicate data


DELETE FROM kata WHERE idKata IN (SELECT dupid FROM (SELECT MAX(idKata) AS dupid,COUNT(*) AS dupcnt
FROM kata GROUP BY kata HAVING dupcnt>1) AS duptable)

Diata merupakan query delete untuk menghapus data pada kolom kata yang katanya lebih dari satu, dengan catatan kata tersebut menyisakan satu data atau row. Untuk “dupid” merupakan inisialisasi di inisialkan dengan dupcnt dan having adalah merupakan perintah data untuk membaca data lebih dari satu.

Demikian semoga bermanfaat. SQL – Cara Simpel Menghapus Duplicate Row dan Menyisakan 1

Leave a Reply

Your email address will not be published. Required fields are marked *