Trong PostgreSQL, từ khóa DISTINCT
được sử dụng trong truy vấn SQL để loại bỏ các bản ghi trùng lặp từ kết quả của truy vấn. Khi bạn sử dụng DISTINCT
, chỉ những giá trị duy nhất (không trùng lặp) sẽ được trả về. Dưới đây là cách hoạt động và một số ví dụ cụ thể về cách sử dụng DISTINCT
.
Lấy danh sách các thành phố duy nhất
Dưới đây là truy vấn SQL để lấy danh sách tất cả các thành phố duy nhất từ bảng customers
:
SELECT DISTINCT city
FROM customers;
Lấy danh sách kết hợp của cột first_name
và last_name
Nếu bạn muốn có danh sách các cặp tên và họ mà không có bản sao, bạn có thể sử dụng truy vấn sau:
SELECT DISTINCT first_name, last_name
FROM employees;
Sử dụng DISTINCT
với điều kiện
Để lấy danh sách các quốc gia duy nhất của khách hàng sống tại New York, bạn có thể sử dụng truy vấn sau:
SELECT DISTINCT country
FROM customers
WHERE city = 'New York';
Sử dụng DISTINCT ON
PostgreSQL cho phép bạn sử dụng cú pháp DISTINCT ON
để chọn một nhóm cột cụ thể. Dưới đây là ví dụ:
SELECT DISTINCT ON (column1) column1, column2
FROM table_name
ORDER BY column1, column2;
Lưu ý về hiệu suất
Việc sử dụng DISTINCT
có thể ảnh hưởng đến hiệu suất của truy vấn, đặc biệt là khi làm việc với các bảng lớn và nhiều cột.