Để phân biệt chỉ một (hoặc n) cột:
select distinct on (name)
name, col1, col2
from names
Điều này sẽ trả về bất kỳ hàng nào chứa tên. Nếu bạn muốn kiểm soát hàng nào sẽ được trả lại, bạn cần đặt hàng:
select distinct on (name)
name, col1, col2
from names
order by name, col1
Sẽ trả về hàng đầu tiên khi được đặt hàng bởi col1.
distinct on
:
CHỌN DISTINCT ON (biểu thức [, ...]) chỉ giữ hàng đầu tiên của mỗi tập hợp các hàng trong đó các biểu thức đã cho đánh giá là bằng nhau. Biểu thức DISTINCT ON được diễn giải bằng cách sử dụng các quy tắc tương tự như đối với ORDER BY (xem ở trên). Lưu ý rằng "hàng đầu tiên" của mỗi tập hợp là không thể đoán trước trừ khi ORDER BY được sử dụng để đảm bảo rằng hàng mong muốn xuất hiện trước.
(Các) biểu thức DISTINCT ON phải khớp với (các) biểu thức ORDER BY ngoài cùng bên trái. Mệnh đề ORDER BY thông thường sẽ chứa (các) biểu thức bổ sung xác định mức độ ưu tiên mong muốn của các hàng trong mỗi nhóm DISTINCT ON.