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.
Tips Optimasi Query MySQL
- Gunakan INDEX — Tambahkan index pada kolom yang sering dipakai di WHERE, JOIN, dan ORDER BY untuk mempercepat query.
- **Hindari SELECT *** — Pilih kolom yang benar-benar dibutuhkan saja, bukan semua kolom.
- Gunakan EXPLAIN — Awali query dengan
EXPLAINuntuk melihat bagaimana MySQL mengeksekusi query dan deteksi bottleneck. - Batasi hasil dengan LIMIT — Jika tidak perlu semua data, gunakan
LIMITuntuk mengurangi beban database. - Normalisasi vs Denormalisasi — Normalisasi untuk integritas data, denormalisasi untuk performa read yang lebih cepat.
Query yang optimal membuat aplikasi web terasa lebih responsif, terutama saat data mulai besar.
- Cara Membuat Tabel di MySQL: Panduan Lengkap untuk Pemula
- Cara Mengganti Port MySQL di XAMPP Windows
- Perintah SQL dan Mysql Menampilkan Data Tertentu
Kesimpulan
Menggunakan syntax DISTINCT ketika melakukan query show di mysql akan menghilangkan duplikasi data.

