SELECT DISTINCT trong SQL là một câu lệnh rất phổ biến, giúp giảm số lượng bản ghi trả về trong một số trường hợp. Trong bài viết hôm nay, mình sẽ chia sẻ với các bạn về câu lệnh DISTINCT trong SQL Server.
1/ Mô tả
Câu lệnh SELECT DISTINCT trong SQL được dùng để lấy giá trị không trùng lặp trong SQL. Mệnh đề DISTINCT sẽ lấy ra các giá trị riêng biệt, duy nhất, loại bỏ các giá trị trùng lặp trong kết quả trả về.
Một điều những bạn mới tìm hiểu cần lưu ý đó chính là câu lệnh DISTINCT trong SQL chỉ đi kèm với câu lệnh SELECT.
2/ Cú pháp
Câu lệnh DISTINCT trong SQL có cú pháp đơn giản:
SELECT DISTINCT column 1, column 2, …
FROM table_name
Lưu ý:
Khi chỉ có một column được chọn thì kết quả trả về khi dùng mệnh đề SELECT DISTINCT trong SQL là các giá trị duy nhất trong cột đó.
Trường hợp có từ 2 cột trở lên thì kết quả trả về sẽ là các giá trị duy nhất của các cột được chọn.
Mệnh đề DISTINCT trong SQL Server không bỏ qua giá trị NULL nên kết quả trả về sẽ bao gồm cả giá trị NULL duy nhất.
3/ Cách dùng SELECT DISTINCT trong SQL
Trong phần hướng dẫn cách sử dụng mệnh đề DISTINCT thì mình chia ra ví dụ cơ bản cũng như các ví dụ nâng cao hơn khi kết hợp với các câu lệnh SQL khác.
SELECT DISTINCT nhiều cột
Bạn có thể lọc giá trị trùng trong một cột hoặc khi chọn nhiều cột. Để hiểu rõ cách sử dụng DISTINCT kết hợp với câu lệnh SELECT trong SQL thì mình đã có chuẩn bị bảng ví dụ sau đây.
Bảng tên Customer gồm có 4 cột: Customer Name, Customer City, Customer State, Customer Source.
Nếu sử dụng câu lệnh SELECT bình thường thì ta sẽ có kết quả sau đây
Cú pháp:
SELECT Customer Name, Customer Source
FROM Customer
Như bạn đã thấy thì trong kết quả trả về của 2 cột Customer Name và Customer Source có rất nhiều giá trị bị trùng lặp nhau.
Để lọc ra các giá trị duy nhất trong từng cột thì bạn cần dùng câu lệnh DISTINCT nhiều cột.
Cú pháp
SELECT DISTINCT Customer Name, Customer Source
FROM Customer
Các kết quả trả về giờ đây đã là giá trị duy nhất của mỗi cột.
DISTINCT khi chọn một cột
Cú pháp:
SELECT DISTINCT Customer Source
FROM Customer
SELECT DISTINCT ORDER BY
Câu lệnh ORDER BY trong SQL sử dụng phổ biến. Cũng lấy bảng ví dụ trên ta có cú pháp DISTINCT kết hợp với ORDER BY như sau.
Cú pháp:
SELECT DISTINCT Customer Name, Customer Source
FROM Customer
ORDER BY Customer Name ASC
Như bạn thấy trong kết quả thì các giá trị trong cột Customer Source đã được sắp xếp theo thứ tự tăng dần. Nếu bạn muốn sắp xếp từ Z – A thì chọn DESC (thay thế vào vị trí ASC).
SELECT DISTINCT COUNT
Một cách sử dụng nâng cao hơn là kết hợp với hàm COUNT trong SQL. Nếu như cú pháp sau đây trả về kết quả là các Customer Source duy nhất
SELECT DISTINCT Customer Source
FROM Customer
Thì khi kết hợp cới hàm COUNT sẽ hiện ra kết quả là giá trị tổng sau khi đếm được có bao nhiêu Customer Source.
Cú pháp COUNT(DISTINCT trong SQL) sẽ được chia sẻ ở những bài viết tới trên website Kienit.
Cú pháp:
SELECT COUNT (DISTINCT Customer Source)
FROM Customer
Việc biết ứng dụng mệnh đề SQL DISTINCT sẽ giúp bạn rất nhiều trong việc tính toán thống kê dữ liệu một cách chính xác vì đã loại bỏ được các giá trị trùng nhau.
Bài viết đã chia sẻ đầy đủ cách sử dụng SELECT DISTINCT trong SQL. Hy vọng các thông tin trong bài này sẽ giúp ích cho các bạn. Hãy theo dõi website Kienit.com để đọc thêm các bài viết SQL mới nhất.