Untuk melakukan pembedaan hanya pada satu (atau n) kolom:
select distinct on (name)
name, col1, col2
from names
Ini akan mengembalikan salah satu baris yang berisi nama. Jika Anda ingin mengontrol baris mana yang akan dikembalikan, Anda perlu memesan:
select distinct on (name)
name, col1, col2
from names
order by name, col1
Akan mengembalikan baris pertama saat dipesan oleh col1.
distinct on
:
SELECT DISTINCT ON ( ekspresi [, ...] ) hanya menyimpan baris pertama dari setiap set baris di mana ekspresi yang diberikan dievaluasi sama. Ekspresi DISTINCT ON ditafsirkan menggunakan aturan yang sama seperti untuk ORDER BY (lihat di atas). Perhatikan bahwa "baris pertama" dari setiap set tidak dapat diprediksi kecuali ORDER BY digunakan untuk memastikan bahwa baris yang diinginkan muncul terlebih dahulu.
Ekspresi DISTINCT ON harus cocok dengan ekspresi ORDER BY paling kiri. Klausa ORDER BY biasanya akan berisi ekspresi tambahan yang menentukan prioritas baris yang diinginkan dalam setiap grup DISTINCT ON.