Câu lệnh SQL SELECT DISTINCT
Câu lệnh SQL SELECT DISTINCT
Câu SELECT DISTINCT
lệnh chỉ được sử dụng để trả về các giá trị riêng biệt (khác nhau).
Bên trong một bảng, một cột thường chứa nhiều giá trị trùng lặp; và đôi khi bạn chỉ muốn liệt kê các giá trị khác nhau (riêng biệt).
Cú pháp SELECT DISTINCT
SELECT DISTINCT column1, column2, ...
FROM table_name;
Cơ sở dữ liệu Demo
Dưới đây là lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Ví dụ CHỌN KHÔNG CÓ DISTINCT
Câu lệnh SQL sau chọn tất cả (bao gồm cả các giá trị trùng lặp) từ cột "Quốc gia" trong bảng "Khách hàng":
Thí dụ
SELECT Country FROM Customers;
Bây giờ, chúng ta hãy sử dụng SELECT DISTINCT
câu lệnh và xem kết quả.
CHỌN DISTINCT Ví dụ
Câu lệnh SQL sau chỉ chọn các giá trị DISTINCT từ cột "Quốc gia" trong bảng "Khách hàng":
Thí dụ
SELECT DISTINCT Country FROM Customers;
Câu lệnh SQL sau liệt kê số lượng quốc gia khách hàng (riêng biệt) khác nhau:
Thí dụ
SELECT COUNT(DISTINCT Country) FROM Customers;
Lưu ý: Ví dụ trên sẽ không hoạt động trong Firefox! Vì COUNT (DISTINCT column_name ) không được hỗ trợ trong cơ sở dữ liệu Microsoft Access. Firefox đang sử dụng Microsoft Access trong các ví dụ của chúng tôi.
Đây là giải pháp cho MS Access:
Thí dụ
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);