Tutorial SELECT DISTINCT Di MySQL

Created at by Aris Munandar

Kueri SELECT DISTINCT Di MySQL berguna untuk menyaringan data, untuk menampilkan hasil yang berbeda-beda. Seringkali terjadi data dengan nilai yang sama berada didalam satu tabel yang sama, hal tersebut bisa terjadi dan normal, namun ada kalanya kita ingin menampilkan data yang berbeda pada suatu tabel yang memiliki kesamaan data didalamnya.

Berikut ini penulisan kueri SELECT DISTINCT di MySQL.

SELECT DISTINCT
    column
FROM
    table
WHERE
    conditions

Pada sintaks diatas, penggunaan SELECT DISTINCT dapat dilakukan oleh satu atau lebih kolom pada tabel yang ingin ditampilkan data tertentu secara berbeda.

Jika anda menggunakan satu kolom, SELECT DISTINCT akan memproses data duplikasi di baris tersebut, sehingga akan menghasilkan data yang unik.

Baca juga: Menampilkan Data Dari Table Dengan MySQL SELECT FROM

Namun jika anda menggunakan dua atau lebih kolom, SELEC DISTINCT akan berusaha menentukan data duplikasi di kolom-kolom tersebut.

Saat anda menggunakan SELECT DISTINCT di MySQL, maka pemrosesan terjadi setelah perintah SELECT, ilustrasi proses tersebut seperti pada gambar dibawah ini.

SELECT DISTINCT di MySQL

Contoh penggunaan SELECT DISTINCT

Sebelum itu mari kita buat beberapa data, disini penulis membuat satu tabel dengan nama countries dan beberapa data dummy yang bisa anda buat dengan menjalankan kueri dibawah ini.

CREATE TABLE `countries` (
    `id` mediumint(8) unsigned NOT NULL auto_increment,
    `city` varchar(255),
    `country` varchar(100) default NULL,
    PRIMARY KEY (`id`)
) AUTO_INCREMENT=1;Code language: JavaScript (javascript)

Setelah tabel sudah dibuat, berikut ini adalah sintaks SQL insert data.

INSERT INTO `countries` (`city`,`country`)
VALUES
    ("Jakarta","Indonesia"),
    ("Changi Bay","Singapore"),
    ("Bandung","Indonesia"),
    ("Kuala Lumpur","Malaysia"),
    ("Bekasi","Indonesia"),
    ("Kuching", NULL),
    ("Depok","Indonesia"),
    ("Johor Bahru","Malaysia"),
    ("Marina East","Singapore"),
    ("Simpang","Singapore");Code language: JavaScript (javascript)

Jika sudah, maka data yang akan muncul di tabel users adalah seperti gambar dibawah ini.

select distinct di mysql

Kita akan menggunakan data-data diatas untuk latihan belajar menggunakan SELECT DISTINCT Di MySQL.

1. Penggunaan SELECT DISTICT dengan satu kolom

Pada kasus pertama, kita akan coba mengeluarkan nama country yang unik dengan SELECT DISTINCT ini, sehingga beberapa nama country yang sama pada data diatas tidak akan ditampilkan, dan benar-benar yang keluar adalah data yang unik alias tidak ada yang sama satu sama lainnya.

SELECT DISTINCT country FROM countries

Kode diatas akan menampilkan data country yang unik, mengingat ada beberapa nama country yang sama pada tabel diatas, dengan SELECT DISTINCT maka data-data yang sama tersebut akan di filter dan akan menghasilkan data yang unik.

SELECT DISTINCT satu kolom di MySQL

Pada tabel diatas ternyata masih ada data NULL yang keluar, jika anda tidak menginginkan data NULL, maka anda dapat mengimplementasikan WHERE untuk memfilter data NULL tersebut.

Contoh seperti kode dibawah ini untuk dapat memfilter data NULL.

SELECT DISTINCT 
    country 
FROM 
    countries
WHERE
    country IS NOT NULLCode language: PHP (php)

Sintaks kueri diatas akan menghilangkan data NULL, sehingga yang akan tampil benar-benar ada datanya.

2. Penggunaan SELECT DISTINCT di MySQL dengan lebih daru satu kolom

Berikut ini kita akan coba bagaimana cara menggunakan SELECT DISTINCT dengan lebih dari satu kolom yang akan kita filter.

SELECT DISTINCT city, country FROM countries

Kueri diatas akan menghasilkan data seperti dibawah ini.

SELECT DISTINCT Dengan multiple column

Dari 10 data yang tersedia, telah terhapus 2 data dengan kueri diatas, itu karena SELECT DISTINCT akan mencari data berdasarkan baris yang sama satu sama lain, meskipun ada beberapa data yang masih sama dalam satu baris, namun pada baris lainnya data tersebut berbeda.

Demikian tutorial SELECT DISTINCT di MySQL ini, jika ada pertanyaan silahkan tinggalkan komentar dibawah ini ya.

Comments

Congrats, you have the opportunity to be the first commenter on this article. Have questions or suggestions? Please leave a comment to start discussion.

Leave comment

Your email address will not be published. Required fields are marked *

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

Discover more from Bahasaweb.com

Subscribe now to keep reading and get access to the full archive.

Continue reading