Apa fungsi dari distinct pada mysql?

Pada kesempatan ini saya akan menjelaskan mengenai apa itu select distinct pada sql. SELECT DISTINCT merupakan query select yang berfungsi untuk menampilkan data tanpa adanya duplikat atau redudansi. Kapan select distinct digunakan ? Select distinct digunakan ketika anda ingin mendapatkan data umum atau bisa dibilang sub-sub data dari sebuah kolom yang terdapat pada sebuah tabel. Misalkan anda memiliki sebuah tabel data-data peserta seleksi pegawaian, tentunya pada tabel tersebut terdapat data asal dari setiap pegawai. Nah selanjutnya anda ingin mendapatkan data dari kota apa saja peserta-peserta tersebut berasal. Tentunya akan terdapat beberapa peserta yang berasal dari kota yang sama, untuk select distinct digunakan untuk menampilkan data inti dalam artian untuk peserta yang kotanya sama akan hanya ditampilkan satu saja. 


Untuk lebih jelas dalam memahami fungsi dari select distinct berikut ini saya buatkan contoh sebagai ilustrasi penggunaan select distinct. Saya memiliki sebuah tabel yang berisi data-data mengenai guru-guru yang mengajar disebuah sekolah. Saya ingin mengetahui list mata pelajaran yang diajarkan oleh guru-guru tersebut apa saja. Berikut ini merupakan data tabel guru tersebut :



Untuk format sintak query select distinct itu sendiri sebagai berikut :


Nah ini merupakan hasil yang didapatkan ketika saya menjalankan query select distinct untuk mencari list mata pelajaran yang diajarkan oleh guru-guru tersebut :




Seperti itulah gambaran mengenai penggunaan select distinct. Selain digunakan untuk mencari list data tanpa duplikasi select distinct bisa dipadukan dengan penggunaan COUNT() dimana count itu sendiri untuk mencari jumlah rows. Sebagai contoh anda ingin mencari berapa jenis mata pelajaran yang diajarkan oleh guru-guru di sekolah tersebut. Maka untuk mencarinya anda dapat menjalankan sintak seperti berikut ini :




Nah maka hasil yang ditampilkan yaitu berupa angka karena fungsi dari aggregat count itu sendiri yaitu menghitung jumlah rows atau baris. 


Sekian yang dapat saya share, mungkin bagi anda yang sudah memahami mengenai sql mungkin belum paham mengenai perbedaan select disticnt dengan group by, untuk lebih jelasnya anda dapat melihat artikel link ini mengenai Perbedaan Order By dan Group By (on progress).

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

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)
0, ilustrasi proses tersebut seperti pada gambar dibawah ini.

Apa fungsi dari distinct pada 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.

Apa fungsi dari distinct pada 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.

Apa fungsi dari distinct pada mysql?

Pada tabel diatas ternyata masih ada data

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)
3 yang keluar, jika anda tidak menginginkan data

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)
3, maka anda dapat mengimplementasikan WHERE untuk memfilter data

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)
3 tersebut.

Contoh seperti kode dibawah ini untuk dapat memfilter data

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)
3.

SELECT DISTINCT country FROM countries WHERE country IS NOT NULL

Code language: PHP (php)

Sintaks kueri diatas akan menghilangkan data

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)
3, 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.

Apa fungsi dari distinct pada mysql?

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.

Fungsi distinct untuk apa?

Fungsi Distinct mengevaluasi rumus di setiap rekaman tabel dan menghasilkan tabel satu kolom pada dengan nilai duplikat yang dihapus.

Apa yang dimaksud dengan Distinct pada MySQL?

Perintah SELECT DISTINCT digunakan untuk menampilkan nilai yang berbeda. Di dalam sebuah tabel, kolom sering berisi banyak nilai duplikat; Dan terkadang Anda hanya ingin membuat daftar nilai yang berbeda. Perintah SELECT DISTINCT digunakan untuk menampilkan hanya nilai yang berbeda dari suatu data.

Ada berapakah fungsi MySQL?

1. Fungsi Dasar MySQL. 2. Data Definition Language (DDL) 3. Data Manipulation Language (DML) 4. Data Control Language (DCL)

Apakah ada perbedaan antara group by distinct?

Perbedaan pernyataan Select Distinct dan Group By Pernyataan select distinct tidak dapat mengelompokan data dengan menggunakan fungsi agregat. Sementara dengan group by dapat melakukan hal tersebut.