DISTINCT di SQL

Menghapus baris duplikat dari hasil, sehingga setiap nilai hanya muncul sekali.

Penjelasan sederhana

DISTINCT membuang baris yang kembar dari hasil, sehingga tiap nilai hanya muncul sekali. Fungsinya mirip tombol Remove Duplicates di Excel, tapi tidak mengubah data aslinya.

Kalau kamu memilih lebih dari satu kolom, yang dianggap kembar adalah kombinasi semua kolom itu. SELECT DISTINCT kota, dept_id akan menampilkan setiap pasangan kota dan departemen yang berbeda.

Sintaks

SELECT DISTINCT kolom1, kolom2
FROM nama_tabel;
BagianKeterangan
DISTINCTDitulis tepat setelah SELECT. Berlaku untuk kombinasi semua kolom yang dipilih, bukan hanya kolom pertama.

Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.

Contoh DISTINCT

Data contoh: karyawan

Tabel karyawan

idnamadept_idkotagajitgl_masukatasan_id
1 Andi Pratama 3 Bandung 12500000 2019-03-11 NULL
2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NULL
3 Candra Wijaya 3 Bandung 8200000 2021-02-15 1
4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
5 Eko Saputra 1 Jakarta 6900000 2023-01-16 2
6 Fajar Nugroho 2 Surabaya 11000000 2018-09-03 NULL
7 Gita Permata 3 Jakarta 8200000 2023-08-21 1
8 Hendra Gunawan NULL Medan 5500000 2024-04-02 NULL
query.sql
SELECT DISTINCT kota
FROM karyawan
ORDER BY kota;
>_ Jalankan & ubah query ini di browser

Hasil 4 baris

kota
Bandung
Jakarta
Medan
Surabaya

Ada 8 karyawan tetapi hanya 4 kota berbeda. Jakarta yang muncul 4 kali sekarang tampil sekali.

Cara kerjanya, langkah demi langkah

  1. FROM karyawan: database mengambil 8 baris karyawan.
  2. SELECT DISTINCT kota: hanya kolom kota yang diambil. Nilainya ada 8, tetapi Jakarta muncul 4 kali dan Bandung 2 kali.
  3. Nilai yang kembar dibuang, tersisa 4 kota: Bandung, Jakarta, Medan, Surabaya.
  4. ORDER BY kota: keempatnya diurutkan sesuai abjad.

Dipakai untuk apa di kantor?

  • Mengetahui ada berapa kota, cabang, atau kategori produk di data.
  • Membuat daftar pilihan untuk filter di dashboard.

Kesalahan yang sering terjadi

  • Mengira DISTINCT hanya berlaku untuk kolom pertama. Ia berlaku untuk gabungan semua kolom yang dipilih.
  • Memakai DISTINCT untuk menutupi hasil JOIN yang dobel. Lebih baik cari penyebab barisnya dobel, karena angka total bisa ikut salah.
Progres bab Dasar Query 0/7 dipelajari
Lanjut: ORDER BY

Belajar SQL bareng mentor

Hafal sintaks itu mudah. Menjawab pertanyaan bisnis, itu skill.

Private Class Python & SQL untuk Data: dari query dasar sampai JOIN dan studi kasus kerja, dengan kurikulum dan jadwal yang menyesuaikan kamu.

Lihat Private Class