Belajar Mysql: Perintah select distinct
Di kesempatan kali ini saya mau share bagaimana cara menggunakan SQL DISTINCT di mysql, fungsi dari DISTINCT adalah untuk mengeliminasi menampilkan data duplikasi ketika meminta data dari sebuah tabel. Maka untuk menghapus baris duplikat nya kita gunakan sebuah query DISTINCT dalam query yang di gabung dengan SELECT.
contoh syntax menggunakan DISTINCT
SELECT DISTINCT
select_pilihan
FROM
nama_tabel
WHERE
search_kondisi
Saya di sini menggunakan contoh tabel film database sakila sama seperti post di Cara Export Ke Excel di Laravel Dari Query Builder
maka sintaknya mysql seperti berikut
SELECT DISTINCT
rating
FROM
film
Penjelasan :
- dari syntax di atas menggunakan DISTINCT untuk elimininasi kolom
ratingdari tabelfilm, maka output yang dihasilkan
+--------+
| rating |
+--------+
| PG |
| G |
| NC-17 |
| PG-13 |
| R |
+--------+
- data output di atas jika tidak di eliminasi akan muncul banyak, di sini hanya baru mengeliminasi satu kolom saja, maka data yang lain tidak di munculkan, jika di munculkan data harus benar benar duplikat dengan kolom yang dipilih contohnya select
ratingdantitlemaka keduanya harus sama persis.
Select DISTINCT multiple kolom
nah berikut ini contoh menggunakan multiple kolom, kondisinya harus keduanya sama, misal dengan data
kondisi data AFFAIR PREJUDICE berada di kolomtitle dan kolom rating bernilai PG maka ketika query ditambah DISTINCT data tersebut tidak akan muncul.
+------------------+--------+
| title | rating |
+------------------+--------+
| ACADEMY DINOSAUR | PG |
| ACE GOLDFINGER | G |
| ADAPTATION HOLES | NC-17 |
| AFFAIR PREJUDICE | G |
| AFRICAN EGG | G |
| AFFAIR PREJUDICE | G |
| AGENT TRUMAN | PG |
| AIRPLANE SIERRA | PG-13 |
| AIRPORT POLLOCK | R |
| ALABAMA DEVIL | PG-13 |
| AFFAIR PREJUDICE | G |
| ALADDIN CALENDAR | NC-17 |
+------------------+--------+
SELECT DISTINCT
title,rating
FROM
film
Select DISTINCT Laravel Eloquent
jikalau teman teman menggunakan Laravel maka syntax query nya seperti berikut
$data = DB::table('film')->select('rating')->distinct()->get();
Penjelasan :
->distinct(): menambahkan syntax query ini untukDISTINCTdi laravel.
Kesimpulan
Menggunakan syntax DISTINCT ketika melakukan query show di mysql akan menghilangkan duplikasi data.