Menggunakan DISTINCT untuk Mengeliminasi Duplikat - MySQL Dasar #54

Dalam kesemptan kali ini Anda akan belajar menggunakan fungsi DISTINCT untuk memilih nilai - nilai tertentu atau menggunakan COUNT(DISTINCT) untuk menghitung sebuah ekspresi dengan cara menghapus nilai duplikat pada kolom yang dihitungnya. Contoh

Lihat daftar isi : Menghasilkan Kesimpulan - MySQL Dasar #50

MariaDB [root93]> SELECT DISTINCT nama from daftar_supir
    -> ORDER by nama;
+-------+
| nama  |
+-------+
| Ben   |
| Henri |
| Henry |
| Susi  |
+-------+
4 rows in set (0.020 sec)

MariaDB [root93]> SELECT COUNT(DISTINCT nama)
    -> FROM daftar_supir;
+----------------------+
| COUNT(DISTINCT nama) |
+----------------------+
|                    4 |
+----------------------+
1 row in set (0.001 sec)

Jika digunakan pada beberapa kolom, fungsi DISTINCT menunjukan kombinasi - kombinasi yang berbeda dan Fungsi COUNT(DISTINCT) dapat menghitung kombinasi tersebut dengan menghapus data duplikatnya terlebih dahulu. 

Query berikut menunjukan berbagai pasangan pengirim/penerima pada tabel mail, kemudian menunjukan berapa banyak pasangan semacam itu, dan tentunya dengan fungsi DISTINCT akan menunjukan nilai pengirim/penerima dengan menghapus duplikasi/mengeliminasi jika terdapat lebih dari satu pengirim dan penerima.

MariaDB [root93]> SELECT DISTINCT srcuser, dstuser
    -> FROM mail
    -> ORDER by srcuser, dstuser;
+---------+---------+
| srcuser | dstuser |
+---------+---------+
| barb    | barb    |
| barb    | tricia  |
| gene    | barb    |
| gene    | gene    |
| phil    | barb    |
| phil    | phil    |
| phil    | tricia  |
| tricia  | gene    |
| tricia  | phil    |
+---------+---------+
9 rows in set (0.001 sec)

Selanjutnya kita hitung berapa jumlah baris dari pasangan diatas dengan COUNT(DISTINCT)

MariaDB [root93]> SELECT COUNT(DISTINCT srcuser, dstuser) 
    -> FROM mail;
+----------------------------------+
| COUNT(DISTINCT srcuser, dstuser) |
+----------------------------------+
|                                9 |
+----------------------------------+
1 row in set (0.001 sec)

DISTINCT juga bisa Anda terapkan pada ekspresi maksudnya Anda tidak hanya menerapkannya pada nilai - nilai kolom tetapi misalnya disini dapat Anda gunakan untuk menentukan banyaknya jam dimana pesan dikirimkan, Anda bisa menghitung nilai - nilai unik dari fungsi HOUR didalam DISTINCT

MariaDB [root93]> SELECT COUNT(DISTINCT HOUR(t))
    -> FROM mail;
+-------------------------+
| COUNT(DISTINCT HOUR(t)) |
+-------------------------+
|                       2 |
+-------------------------+
1 row in set (0.001 sec)
Baca Selanjutnya : Mencari Nilai Terkait dari MIN dan MAX - MySQL Dasar #55

0 Response to "Menggunakan DISTINCT untuk Mengeliminasi Duplikat - MySQL Dasar #54"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin