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
rating
dari 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
rating
dantitle
maka 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 untukDISTINCT
di laravel.
Kesimpulan
Menggunakan syntax DISTINCT
ketika melakukan query show di mysql akan menghilangkan duplikasi data.