W3School

Câu lệnh SQL SELECT DISTINCT

Câu lệnh SELECT DISTINCT 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).

Bạn có thể download cơ sở dữ liệu Northwind để bắt đầu thực hành tại đây:

- Dành cho Sql Server, MS Access Download
- Dành cho Mysql: Tạo bảng trước với Download Table sau đó hãy điền data với Download Data
- Dành cho Oracle Download

Lưu ý: Tên bảng trong CSDL cho SQL Server thường được viết hoa chữ đầu. Với Mysql thì tên bảng được viết thường. Và với Oracle thì tên bảng toàn bộ được viết hoa. Bạn hãy viết đúng tên bảng trong query của mình nhé.

Trong nội dung bài viết, đôi khi tên bảng được viết dưới dạng tiếng Việt, ví dụ:

- Customers: Khách hàng
- Orders: Đơn hàng
- Employees: Nhân viên
- Shipers: Giao hàng
- Invoices: Hoá đơn

Ví dụ CHỌN KHÔNG CÓ DISTINCT

Với câu lệnh trên, bạn lấy được toàn bộ quốc gia của khách hàng từ bảng “Customers”, tuy nhiên các quốc gia của khách hàng bị trùng lặp, ví dụ như “Mexico”, “Germany”.

Bây giờ, chúng ta hãy sử dụng câu lệnh SELECT DISTINCT và xem kết quả.

Ví dụ về SELECT DISTINCT

Với kết quả trả về hiện tại, bạn sẽ không thấy “Mexico” bị lặp hai lần nữa.

Kết hợp DISTINCT với COUNT (ĐẾM)

Với câu lệnh COUNT( DISTINCT Country) chúng ta đếm số lượng quốc gia từ bảng khách hàng

Lệnh COUNT(DISTINCT Column) không hoạt động trên MS Access, bạn phải đổi thành như hình dưới:

W3School

Leave a comment

Your email address will not be published. Required fields are marked *