Masalah:
Anda ingin menghilangkan baris duplikat dari kumpulan hasil kueri sehingga setiap baris hanya muncul sekali.
Contoh:
Basis data kami memiliki tabel bernama clothes
dengan data pada kolom berikut:id
, name
, color
, dan year_produced
.
id | nama | warna | tahun_diproduksi |
---|---|---|---|
1 | Kaos | kuning | 2015 |
2 | jaket | biru | 2016 |
3 | jeans | hitam | 2015 |
4 | jaket | biru | 2015 |
5 | jaket | hijau | 2016 |
6 | jaket | kuning | 2017 |
7 | topi | kuning | 2017 |
Mari kita dapatkan nama dan warna pakaian yang tidak berulang yang diproduksi sebelum 2017.
Solusi:
SELECT DISTINCT name, color FROM clothes WHERE year_produced < 2017;
Ini hasilnya:
nama | warna |
---|---|
Kaos | kuning |
jaket | biru |
jeans | hitam |
jaket | hijau |
Perhatikan bahwa
Diskusi:
Cukup gunakan DISTINCT
kata kunci setelah SELECT
jika Anda ingin memilih hanya baris yang tidak berulang. Kata kunci ini memaksa kueri untuk membuang baris duplikat, hanya berdasarkan kolom yang Anda daftarkan.
Berikut ini contoh memilih hanya baris yang nama itemnya unik:
SELECT DISTINCT name FROM clothes WHERE year_produced < 2017;
Tidak seperti kueri sebelumnya, kueri ini hanya mengembalikan tiga catatan:
nama | |
---|---|
Kaos | |
jeans | |
Meskipun ada empat jeans di tabel asli (dua biru, satu hijau, dan satu kuning), item tersebut hanya muncul sekali dalam kumpulan hasil ini berkat DISTINCT
kata kunci.