Hapus baris duplikat di MySQL

Jika dalam database yang anda miliki terdapat baris data yang berulang atau terjadi duplikat baris data, anda dapat menghapus duplikasi tersebut dengan mudah hanya dengan menggunakan script MySQL.

Pada artikel kali ini, kita akan belajar menghapus baris data duplikat dari MySQL dengan menggunakan script yang akan kita jalankan dengan menggunakan phpMyAdmin.

Siapkan contoh tabel data

Sebelum kita mulai, siapkan tabel dengan nama “duplicate_row” dengan struktur dan data seperti berikut:

duplicate row 01
CREATE TABLE `duplicate_row` (
  `id` int(11) DEFAULT NULL,
  `refID` int(11) DEFAULT NULL,
  `data` varchar(7) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 PACK_KEYS=0;

INSERT INTO `duplicate_row` (`id`, `refID`, `data`) VALUES
(1, 3526, 'aaaaaaa'),
(2, 3527, 'bbbbbbb'),
(3, 3528, 'ccccccc'),
(4, 3529, 'ddddddd'),
(5, 3527, 'eeeeeee'),
(6, 3528, 'fffffff'),
(7, 3527, 'ggggggg');
COMMIT;

Hapus baris duplikat menggunakan DELETE JOIN

  1. Buka phpMyAdmin dan pilih nama database dari tabel “duplicate_row“. Kemudian klik tab “SQL”. Selanjutnya salin script berikut ini.
DELETE t1 FROM duplicate_row t1
  JOIN duplicate_row t2
  ON t2.refID = t1.refID
  AND t2.id < t1.id
  1. Kemudian klik tombol “Go” untuk menjalankan script.
duplicate row 02
  1. Script tersebut akan menghapus semua baris duplikat dan mempertahankan baris dengan “id” terkecil.
duplicate row 04
  1. Untuk mengubah kriteria penghapusan ubah script pada bagian “AND t2.id < t1.id” sesuai dengan yang anda inginkan.

Selamat mencoba…

Semoga bermanfaat….

Artikel Terbaru