Cara Filter Duplikasi Data dengan Query DISTINCT

Cara Filter Duplikasi Data dengan Query DISTINCT

Cara Filter Duplikasi Data dengan Query DISTINCT - Distinct digunakan untuk menghapus atau memfilter duplikasi dari hasil tampilan SELECT. Fungsinya adalah untuk menampilkan hasil query mysql bila terdapat data yang isinya sama, maka yang diambil hanya salah satu nya saja.

Baca Juga : Cara Mengurutkan Data di MySQL

Seperti diketahui bahwa jika sebuah kolom tidak diset dengan PRIMARY KEY maka database akan memperbolehkan terjadinya record yang sama. Dan terkadang kita membutuhkan data yang unik diantara data-data yang sama tersebut.

MySQL sudah menyediakan satu fungsi yang mampu memfilter data duplikat yaitu DISTINCT.  Berikut format penulisan Query DISTINCT
SELECT DISTINCT   nama_kolom   FROM   nama_tabel;

CONTOH PENGGUNAAN QUERY DISTINCT

Membuat Tabel
Buat tabel di Database MySQL dengan struktur seperti dibawah, saya membuat tabel dengan nama daftar_peserta.
mysql> CREATE TABLE daftar_peserta (
    -> no_peserta varchar (6),
    -> nama_peserta varchar (40),
    -> kota_asal varchar (20),
    -> primary key (no_peserta)
    -> );

Query OK, 0 rows affected (0.26 sec)

mysql>

Insert / Masukkan Data ke Dalam Tabel
Masukkan data pada tabel daftar_peserta sesuai dengan struktur tabel.
mysql> INSERT INTO daftar_peserta VALUES ("PS001","Muh. Ilham","Jakarta");
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS002","Mustofa","Jakarta");
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS003","Indar Parawansyah","Jakarta");
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS004","Dwiki Sasongko","Surabaya");
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS005","Dimas","Surabaya");
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS006","Zulkifli Akbar","Surabaya");
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS007","Rasyid","Makassar");
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS008","Andi Saharuddin","Makassar");
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS009","Intan Sumarni","Semarang");
Query OK, 1 row affected (0.13 sec)

mysql> INSERT INTO daftar_peserta VALUES ("PS010","Andi Hidayat","Makassar");
Query OK, 1 row affected (0.13 sec)

mysql> 

Cek Data pada Tabel tersebut
mysql> SELECT*FROM daftar_peserta;
+------------+-------------------+-----------+
| no_peserta | nama_peserta      | kota_asal |
+------------+-------------------+-----------+
| PS001      | Muh. Ilham        | Jakarta   |
| PS002      | Mustofa           | Jakarta   |
| PS003      | Indar Parawansyah | Jakarta   |
| PS004      | Dwiki Sasongko    | Surabaya  |
| PS005      | Dimas             | Surabaya  |
| PS006      | Zulkifli Akbar    | Surabaya  |
| PS007      | Rasyid            | Makassar  |
| PS008      | Andi Saharuddin   | Makassar  |
| PS009      | Intan Sumarni     | Semarang  |
| PS010      | Andi Hidayat      | Makassar  |
+------------+-------------------+-----------+
10 rows in set (0.00 sec)

mysql>

Penjelasan :
Jika kita melihat tabel daftar_peserta diatas kolom kota_asal mempunyai data / record yang sama. misalnya terdapat beberapa peserta yang berasal dari jakarta, surabaya, makassar dan semarang. jika kita ingin melihat darimana saja peserta berasal tentunya sangat sulit apabila mencarinya secara manual, apalagi pada database yang mempunyai data yang sangat banyak. disinilah fungsi Query DISTINCT yang Memfilter data tersebut dan hanya menampilkan salah satunya saja.

Penggunaan Query DISTINCT
Melihat dari kota mana saja peserta berasal
SELECT DISTINCT nama_kolom FROM nama_tabel;
mysql> SELECT DISTINCT kota_asal FROM daftar_peserta;
+-----------+
| kota_asal |
+-----------+
| Jakarta   |
| Surabaya  |
| Makassar  |
| Semarang  |
+-----------+
4 rows in set (0.00 sec)

mysql>

Terlihat bahwa MySQL tetap menampilkan isi tabel yang dieliminasi.

Sekian artikel Cara Filter Duplikasi Data dengan Query DISTINCT, nantikan artikel tentang Basis Data di blog ini.

Jika Kalian menyukai Artikel ini Silahkan Bagikan. Bila ada yang ingin berdiskusi tentang Judul Artikel diatas atau ada pertanyaan yang ingin ditanyakan silahkan menggunakan Fasilitas Komentar dan Fasilitas Contact Form. atau bisa mengirim langsung ke email struktur.mysql@gmail.com.
Previous
Next Post »