[SQL] Lession 4: Lệnh SELECT kết hợp DISTINCT

Câu lệnh SELECT DISTINCT được sử dụng để chỉ trả về các giá trị riêng biệt (khác nhau).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 biệt) khác nhau.

SELECT DISTINCT Syntax (Cú pháp)

SELECT DISTINCT column1, column2, …
FROM table_name;

Demo Database

Bảng “Customers” ví dụ

CustomerIDCustomerNameContactNameCountry
1Alfreds FutterkisteMaria AndersGermany
2Ana Trujillo Emparedados y heladosAna TrujilloMexico
3Antonio Moreno TaqueríaAntonio MorenoMexico
4Around the HornThomas HardyUK
5Berglunds snabbköpChristina BerglundSweden

SELECT không sử dụng DISTINCT

Câu lệnh SQL sau đây chọn TẤT CẢ (bao gồm các giá trị trùng lặp) từ cột “Country” trong bảng “Customers”:

SELECT Country 
FROM Customers;

Country
Germany
Mexico
Mexico
UK
Sweden

Bạn có thể thấy giá trị Mexico được lặp lại hai lần.

SELECT sử dụng DISTINCT

Bây giờ, chúng ta hãy sử dụng từ khóa DISTINCT với câu lệnh SELECT ở trên và xem kết quả. Câu lệnh SQL sau chỉ chọn các giá trị DISTINCT từ cột ” Country ” trong bảng ” Customers”:

SELECT DISTINCT Country 
FROM Customers;

Country
Germany
Mexico
UK
Sweden

Kết quả trả về lúc này đã không còn hai dòng giá trị “Mexico”, kết quả chỉ còn một dòng “Mexico”.

Câu lệnh SQL sau liệt kê số lượng “Country” khác nhau:

SELECT COUNT(DISTINCT Country) 
FROM Customers;

COUNT(DISTINCT Country)
21

Cú pháp COUNT(DISTINCT column_name) không được hỗ trợ trong MS ACCESS. Đây là cách giải quyết cho MS Access:

SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);

Bài viết được thinhtuan.com dịch và chỉnh sửa theo w3schools.com