Mencari dan Menampilkan Data Duplikat di MySQL
Mencari dan menampilkan data duplikat di MySQL merupakan sebuah cara untuk mengambil data ganda atau duplikasi dari database, kemudian ditampilkan ke halaman pengguna menggunakan script PHP. Mencari data duplikat di MySQL sebenarnya sangatlah sederhana, cukup meggunakan argumen HAVING dengan pengkondisian key atau index memiliki lebih dari 1 data yang sama. Setelah ditemukan data yang sama di pencarian MySQL, selanjutnya adalah menampilkan data duplikat dengan script PHP ke dalam interface. Seberapa pentingkah mencari data duplikat di MySQL? tidak begitu penting ketika datanya hanya puluhan baris. Namun akan menjadi sebuah keharusan, sebagai materi analisa jika data terkait mencapai ribuan baris data.
Tutorial cara mencari dan menampilkan data duplikat di MySQL ini kami lakukan pada bahasa program php 7.3, dan menggunakan database mysqli ektension. Jika Anda juga menggunakan versi php yang sama, silahkan jalankan XAMPP versi 7.3 agar script mencari data duplikat dengan php berjalan tanpa bug atau error.
Pembahasan bagaimana cara mencari dan menampilkan data duplikat di MySQL database menggunakan argumen perintah HAVING atau HAVING COUNT adalah sebagai berikut.
- Desain Database
- Membuat Query SQL untuk Mencari Data Duplikat
- Membuat Script PHP untuk Menampilkan Data Duplikat.
Mencari dan Menampilkan Data Duplikat di MySQL
1. Contoh Desain Database.
Karena ini adalah tutorial mencari dan menampilkan data duplikat, maka kami asumsikan bahwa database yang telah kita buat memungkinkan untuk memiliki data ganda. Misal pada sebuah data anggota organisasi, dimana ketika input NIK pada KTP bisa saja terjadi duplikasi, dan hal ini masih cukup wajar. Oleh karena itu, maka dibuatlah sebuah fitur yang dapat mencari data duplikat tersebut, sehingga data dapat ditampilkan sebagai analisa lebih lanjut. Berikut contoh desain databasenya.
Sebagaimana contoh desain database di atas, kami asumsikan bahwa kemungkinan terjadi duplikat data adalah pada atribut "nik".
2. Membuat Query SQL untuk Mencari Data Duplikat.
Untuk mencari dan menampilkan data duplikat di MySQL database dapat dilakukan menggunakan beberapa perintah dasar SQL. Baik menggunakan HAVING ataupun HAVING COUNT, syntax nya sebagai berikut.
SELECT field, COUNT(*) field FROM tbl GROUP BY field HAVING field > 1
Menurut beberapa sumber, perintah SQL di bawah ini lebih efektif.
SELECT field, COUNT(*) field FROM tbl GROUP BY field HAVING COUNT(field) > 1
3. Membuat Script PHP untuk Menampilkan Data Duplikat.
Setelah membuat query, langkah selanjutnya pada tutorial cara mencari dan menampilkan data duplikat di MySQL adalah menerapkan perintah tersebut ke dalam script php.
Sebagaimana penjelasan pada desain database di atas, bahwa data anggota yang akan ditampilkan adalah data duplikat berdasarkan NIK atau Nomor KTP. Sehingga jika di dalam database tersebut ditemukan lebih dari 1 (satu) NIK yang sama, maka data anggota tersebut akan tampil.
Simpan sebagai index.php
<html> <head> <title>Mencari dan Menampilkan Data Duplikat di MySQL</title> </head> <body> <h3>Mencari dan Menampilkan Data Duplikat</h3> <p><b>Data NIK Anggota Ganda:</b></p> <p> <table border="1"> <tr bgcolor="#e5e5e5"> <td>No</td> <td>Nama</td> <td>NIK</td> <td>TTL</td> <td>Alamat</td> </tr> <?php include "koneksi.php"; $no=0; $query =mysqli_query($conn, "SELECT nik, COUNT(*) duplikat FROM tb_anggota GROUP BY nik HAVING COUNT(duplikat) > 1"); while($result =mysqli_fetch_array($query)){ $vData =mysqli_query($conn, "SELECT * FROM tb_anggota WHERE nik='$result[nik]'"); while($vdat =mysqli_fetch_array($vData)){ $no++ ?> <tr> <td><?php echo $no?></td> <td><?php echo $vdat['nama']?></td> <td><?php echo $vdat['nik']?></td> <td><?php echo $vdat['tmp_lhr']?>, <?php echo $vdat['tgl_lhr']?></td> <td><?php echo $vdat['alamat']?></td> </tr> <?php } } ?> </table> </p> </body> </html>
Perhatikan baris kode php ke-20 dengan perintah SQL "SELECT nik, COUNT(*) duplikat FROM tb_anggota GROUP BY nik HAVING COUNT(duplikat) > 1". Ini artinya adalah, ambil "nik" dari tabel anggota jika "nik" terdapat di lebih dari 1 baris data.
Sampai disini tutorial cara mencari dan menampilkan data duplikat di MySQL database telah selesai, tahap selanjutnya adalah pengujian query dan script php nya sekaligus. Jika script php untuk menampilkan data duplikat pada file index di atas dijalankan, maka akan menampilkan antar muka seperti gambar di bawah ini.
Inti dari cara mencari dan menampilkan data duplikat di MySQL database sehingga dapat menyajikan data ganda adalah pada baris kode berikut ini.
$query =mysqli_query($conn, "SELECT nik, COUNT(*) duplikat FROM tb_anggota GROUP BY nik HAVING COUNT(duplikat) > 1");
Tutorial Mencari dan Menampilkan Data Duplikat di MySQL
Sekian penjelasan tentang bagaimana cara mencari dan menampilkan data duplikat di MySQL database sehingga dapat ditemukan data ganda menggunakan perintah HAVING COUNT. Untuk mendapatkan source code atau script php menampilkan data duplikat, Anda dapat langsung copas melalui jendela script yang tersedia di atas atau download via tautan. Jika ada kendala atau pertanyaan silahkan hubungi kami melalui email atau melalui form komentar dan obrolan. Semoga dapat membantu.
Baca juga :
- Script PHP Menampilkan Data Berdasarkan Id
- Membuat Barcode dengan PHP dan MySQL - Tutorial
- Cara Menjumlahkan Nilai dalam Array PHP
- Cara Menampilkan IP Address dengan PHP
- Cara Membuat Laporan PDF dengan PHP dan MySQL
- Membuat Form dan Script Edit Data dengan PHP MySQL
Mencari dan Menampilkan Data Duplikat di MySQL
Tags: mencari data duplikat di mysql, menampilkan data duplikat dengan php mysql, mencari data ganda di mysql, duplikat data php mysql, mencari dan menampilkan data duplikat di mysql