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
- SQL Tutorial
- Cú pháp SQL
- Câu lệnh SQL SELECT
- Câu lệnh SQL SELECT DISTINCT
- WHERE SQL
- Toán tử AND, OR và NOT
- Sắp xếp dữ liệu với ORDER BY
- NULL Trong SQL
- INSERT INTO
- SQL UPDATE
- SQL Delete
- SQL Top
- Hàm MIN MAX trong SQL
- COUNT, AVG và SUM
- SQL Toán tử LIKE
- SQL Wildcards
- Toán tử SQL IN
- SQL BETWEEN
- SQL ALIAS
- SQL JOIN
- SQL INNER JOIN
- LEFT JOIN Trong SQL
- RIGHT JOIN Trong SQL
- SQL FULL OUTER JOIN TRONG SQL
- SQL Self Join
- Toán tử UINON SQL