More

    Penggunaan Query Distinct Pada MySQL

    Penggunaan Query Distinct – Pada tutorial mysql sebelumnya kita telah belajar tentang bagaimana Membuat Database MySQLdan juga menyimpan, mengubah dan menghapus pada database MySQL. Pada tutorial kali ini, kita akan membahas tentang bagaimana penggunaan query distinct pada mysql.  Query ini digunakan untuk menghapus atau mengeleminasi duplikasi dari hasil tampilan SELECT. Sama seperti query AS, ORDER BY, dan LIMIT, query DISTINCT ini digunakan sebagai tambahan dari query utamanya, yakni SELECT.

    Mempersiapkan table sampel Daftar_dosen.

    +------------+----------------+------------+-----------+
    | NIP_dosen  | nama_dosen     | no_hp      | alamat    |
    +------------+----------------+------------+-----------+
    | 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
    | 0173551078 | Aria Sulistya  | 0880743523 | Jakarta   |
    | 0260432002 | Maya Ari Putri | 0812342342 | Palembang |
    | 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
    | 0360432014 | Suci Syuhada   | 0812341122 | Palembang |
    | 0480432066 | Tia Santrini   | 0812451177 | Padang    |
    | 0576431001 | M. Siddiq      | 0812979005 | Jakarta   |
    | 0770435006 | Rubin Hadi     | 0812567678 | Papua     |
    | 0785531001 | Siswanto       | 0852878006 | Padang    |
    | 0867221006 | Rudi Arwana    | 0823987598 | Jakarta   |
    | 0869437003 | Mustalifah     | 0812338877 | Aceh      |
    | 1080432007 | Arif Budiman   | 0812456345 | Makasar   |
    +------------+----------------+------------+-----------+

    Kalau anda ingin menggunakan table yang sama seperti yang saya gunakan anda bisa menginputnya secara manual atau menggunakan query LOAD DATA INFILE dibawah, untuk file txt dapat diperoleh dari sample data tabel daftar dosen.

    mysql> TRUNCATE daftar_dosen;
    Query OK, 0 rows affected (0.05 sec)
    mysql> LOAD DATA INFILE 'D:\\MySQL\\daftar_dosen.txt'
    INTO TABLE daftar_dosen
    FIELDS TERMINATED BY ','  LINES TERMINATED BY '\r\n';
    Query OK, 12 rows affected (0.04 sec)
    Records: 12  Deleted: 0  Skipped: 0  Warnings: 0
    mysql> SELECT * FROM daftar_dosen;
    +------------+----------------+------------+-----------+
    | NIP_dosen  | nama_dosen     | no_hp      | alamat    |
    +------------+----------------+------------+-----------+
    | 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
    | 0173551078 | Aria Sulistya  | 0880743523 | Jakarta   |
    | 0260432002 | Maya Ari Putri | 0812342342 | Palembang |
    | 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
    | 0360432014 | Suci Syuhada   | 0812341122 | Palembang |
    | 0480432066 | Tia Santrini   | 0812451177 | Padang    |
    | 0576431001 | M. Siddiq      | 0812979005 | Jakarta   |
    | 0770435006 | Rubin Hadi     | 0812567678 | Papua     |
    | 0785531001 | Siswanto       | 0852878006 | Padang    |
    | 0867221006 | Rudi Arwana    | 0823987598 | Jakarta   |
    | 0869437003 | Mustalifah     | 0812338877 | Aceh      |
    | 1080432007 | Arif Budiman   | 0812456345 | Makasar   |
    +------------+----------------+------------+-----------+
    12 rows in set (0.00 sec)

    Cara Penggunaan Query Distinct Untuk Menghapus Duplikasi

    Menghapus duplikasi disini artinya query DISTINCT digunakan hanya untuk memanipulasi tampilan hasil dari tabel. Duplikasi yang dihapus adalah untuk tampilan data, bukan tabel asli dari MySQL.

    Misal, apabila kita hanya ingin menampilkan seluruh kota pada table daftar_dosen.

    mysql> SELECT alamat FROM daftar_dosen ORDER BY alamat;
    +-----------+
    | alamat    |
    +-----------+
    | Aceh      |
    | Bogor     |
    | Jakarta   |
    | Jakarta   |
    | Jakarta   |
    | Makasar   |
    | Padang    |
    | Padang    |
    | Palembang |
    | Palembang |
    | Papua     |
    | Pekanbaru |
    +-----------+
    12 rows in set (0.00 sec)

    Saya menambahkan perintah ORDER BY agar tampilan lebih rapi dengan diurutkan berdasarkan alamat.

    Pada hasil diatas kota yang ditampilkan terdapat duplikasi, hal ini dikarenakan ada beberapa dosen yang mempunyai alamat yang sama. Jika yang kita inginkan bahwa untuk setiap kota yang sama, hasil query harus muncul 1 kali saja, kita akan memerlukan perintah DISTINCT.

    Cara Penulisan Query Distinct

    Contoh penulisan query distinct:

    SELECT DISTINCT nama_kolom FROM nama_tabel;
    • Nama_kolom adalah nama kolom yang akan ditampilkan.
    • Nama_tabel adalah nama tabel untuk kolom yang akan ditampilkan.

    Sehingga untuk contoh kasus diatas, maka kita akan menggunakan query distinct  untuk menampilkan seluruh kota 1 kali saja. Contoh Querynya.

    mysql> SELECT DISTINCT alamat FROM daftar_dosen ORDER BY alamat;
    +-----------+
    | alamat    |
    +-----------+
    | Aceh      |
    | Bogor     |
    | Jakarta   |
    | Makasar   |
    | Padang    |
    | Palembang |
    | Papua     |
    | Pekanbaru |
    +-----------+
    8 rows in set (0.00 sec)

    Dengan penggunaan perintah distinct maka data yang sama hanya ditampilkan satu kali.

    Namun jika kita menambahkan kolom nama_dosen seperti query berikut:

    mysql> SELECT DISTINCT nama_dosen,alamat FROM daftar_dosen 
    ORDER BY alamat;
    +----------------+-----------+
    | nama_dosen     | alamat    |
    +----------------+-----------+
    | Mustalifah     | Aceh      |
    | Susi Indriani  | Bogor     |
    | Aria Sulistya  | Jakarta   |
    | M. Siddiq      | Jakarta   |
    | Rudi Arwana    | Jakarta   |
    | Arif Budiman   | Makasar   |
    | Siswanto       | Padang    |
    | Tia Santrini   | Padang    |
    | Maya Ari Putri | Palembang |
    | Suci Syuhada   | Palembang |
    | Rubin Hadi     | Papua     |
    | Sabrina Sari   | Pekanbaru |
    +----------------+-----------+
    12 rows in set (0.06 sec)

    Terlihat bahwa MySQL tetap menampilkan seluruh isi tabel tanpa ada yang dibuang.  Hal ini dikarenakan query DISTINCT hanya mengeleminasi query yang unik, atau tidak sama dilihat secara baris per baris (per record). Dengan mengkombinasikan nama_dosen dengan alamat, maka setiap baris dianggap unik, kecuali terdapat nama dosen dan alamat yang persis sama.

    Itulah tutorial Penggunaan Query Distinct Pada MySQL

    Free $100
    Deal

    Daftar menggunakan link di pojok kanan atas, minimal top up $25 usd. Maka dalam waktu 30 hari setelah registrasi anda akan mendapatkan credit $100 gratis dari vultr untuk mencoba layanan mereka.

    More Less
    Doesn't expire

    Recent Articles

    cara setting pppoe client

    Cara Setting PPPoE Client di TP Link WR840n dengan Mudah

    0
    Cara Setting PPPoE Client - Pada artikel sebelumnya saya sudah memberikan tutorial bagaimana Cara Setting PPPoE Server di Mikrotik. Pada tutorial berikutnya, kita akan mengaplikasikan pppoe kepada...

    Apa itu Staking Crypto dan Bagaimana Cara Melakukan Staking

    0
    Apa itu Staking Crypto - Akhir-akhir ini staking crypto banyak sekali menjadi pembicaraan buah bibir di kalangan investor crypto. Mungkin masih banyak dari para investor...

    Cara Setting PPPoE Server di Mikrotik

    0
    Cara Setting PPPoE Server - Pada tutorial sebelumnya kita telah belajar tentang bagaimana Cara Setting Hotspot Voucher di Mikrotik. Kali ini, saya akan melanjutkan sesi tutorial...
    Cara Setting Hotspot

    Cara Setting Hotspot Voucher di Mikrotik

    0
    Cara Setting Hotspot Voucher - Pada tutorial sebelumnya, kita sudah membahas apa itu mikrotik dan bagaimana cara melakukan konfigurasi dasar agar mikrotik kita bisa terhubung dengan internet. Router...
    konfigurasi dasar mikrotik

    Konfigurasi Dasar Mikrotik

    0
    Konfigurasi Dasar Mikrotik - Pada artikel sebelumnya, kita telah mengetahui Apa itu Mikrotik dan Fungsinya. Untuk kesempatan kali ini, kita akan mencoba melakukan konfigurasi dasar pada...

    Related Articles

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Dapatkan konten terbaik dari kami!