Menentukan Keunikan Nilai – MySQL Dasar #59

Untuk mengetahui nilai pada suatu tabel unik atau tidak Anda bisa menggunakan HAVING dan COUNT() HAVING bisa Anda gunakan untuk menemukan nilai – nilai unik ketika DISTINCT tidak digunakan. DISTINCT mengeliminasi duplikasi, tetapi tidak menunjukan nilai – nilai mana yang di duplikasi. Sedangkan HAVING bisa memberitahu mana nilai yang memiliki keunikan dan tidak unik, jadi kombinasi having dan count tidak sekedar menghapus duplikasinya saja melainkan juga menunjukan jumlah data duplikasinya pada kesimpulan group.


Query berikut menunjukan hari-hari dimana hanya satu supir yang aktif, dan hari-hari di mana lebih dari satu supir yang aktif.
MariaDB [root93]> SELECT tanggal_travel, COUNT(tanggal_travel) AS tgl
    -> FROM daftar_supir
    -> GROUP by tanggal_travel
    -> HAVING tgl=1;
+----------------+-----+
| tanggal_travel | tgl |
+----------------+-----+
| 2014-11-27     |   1 |
| 2014-11-30     |   1 |
| 2014-12-01     |   1 |
+----------------+-----+
3 rows in set (0.001 sec)
MariaDB [root93]> SELECT tanggal_travel, COUNT(tanggal_travel) AS tgl
    -> FROM daftar_supir
    -> GROUP by tanggal_travel
    -> HAVING tgl>1;
+----------------+-----+
| tanggal_travel | tgl |
+----------------+-----+
| 2014-11-26     |   2 |
| 2014-11-29     |   3 |
| 2014-12-02     |   2 |
+----------------+-----+
3 rows in set (0.001 sec)
Anda juga bisa menggunakan kolom kombinasi nilai. Dalam contoh kasus misalnya untuk mencari pasangan pesan/pengirim di mana hanya ada satu pesan yang terkirim pada tabel mail.
MariaDB [root93]> SELECT srcuser, dstuser
    -> FROM mail
    -> GROUP by srcuser, dstuser
    -> HAVING COUNT(*)=1;
+---------+---------+
| srcuser | dstuser |
+---------+---------+
| barb    | barb    |
| phil    | barb    |
| phil    | phil    |
| phil    | tricia  |
| tricia  | gene    |
| tricia  | phil    |
+---------+---------+
6 rows in set (0.001 sec)
Baca selanjutnya : Mengelompokan Hasil Ekspresi – MySQL Dasar #60

0 Response to "Menentukan Keunikan Nilai – MySQL Dasar #59"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin