Belajar Mysql: Perintah select distinct

Belajar Mysql: Perintah select distinct
Konten Halaman

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 tabel film, 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 dan title 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 untuk DISTINCT di laravel.

Kesimpulan

Menggunakan syntax DISTINCT ketika melakukan query show di mysql akan menghilangkan duplikasi data.