SQL SERVER: SELECT DISTINCT

Kali ini kita akan belajar bagaimana mengambil satu-satunya nilai yang berbeda (unik) dalam daftar kolom tertentu dengan menggunakan SELECT DISTINCT.

Sintaks:

SELECT DISTINCT
    nama_kolom1,
    nama_kolom2,
    ...
FROM
    namatabel;


Jika hanya SELECT 1 buah kolom maka akan menampilkan nilai-nilai unik kolom itu saja. Sementara jika 2 kolom atau lebih akan menampilkan nilai-nilai kombinasi kolom berbeda (unik).

Untuk lebih jelasnya kita akan menggunakan tabel item sebagai sample.

1. SELECT DISTINCT 1 Kolom

Kita akan memilih nilai-nilai berbeda dari kolom categorycode dengan query sebagai berikut:

SELECT DISTINCT categorycode FROM [dbo].[item]



2. SELECT DISTINCT 2 Kolom

Selanjutnya kita akan memilih nilai-nilai berbeda dari kolom categorycode dengan query sebagai berikut:

SELECT DISTINCT categorycode, pricesell FROM [dbo].[item]


3. SELECT DISTINCT vs GROUP BY

Buat temen-temen yang pernah menggunakan atau mengenal GROUP BY sebelumnya mungkin melihat bahwa fungsi DISTINCT ini bisa diperoleh juga dengan menggunakan GROUP BY. Hasilnya akan sama saja seperti terlihat pada ilustrasi gambar berikut:


Jika kita lihat menggunakan DISTINCT memang menyederhanakan query yang kita buat, tetapi dalam kasus tertentu misalnya kita ingin menyertakan fungsi agregat seperti contoh query group by di bawah ini.

SELECT categorycode, COUNT(*) AS count_row 
FROM [dbo].[item]
GROUP BY categorycode





Post a Comment

0 Comments