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.
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.
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.
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 NULL
Code 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.
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.