Từ khóa DISTINCT trong SQL

Thứ sáu - 16/05/2025 22:57

Distinct trong SQL được dùng để làm gì? Dưới đây là những điều bạn cần biết về cách dùng select distinct trong SQL.

 

Từ khóa SQL DISTINCT được sử dụng trong các truy vấn để truy xuất các giá trị duy nhất từ cơ sở dữ liệu. Từ khóa này giúp loại bỏ các bản ghi trùng lặp khỏi tập kết quả. SQL DISTINCT cũng đảm bảo chỉ có các mục duy nhất được truy xuất. Cho dù bạn đang phân tích các tập dữ liệu hay thực hiện việc dọn dẹp dữ liệu, thì từ khóa DISTINCT đều quan trọng để đảm bảo tính toàn vẹn và độ chính xác của dữ liệu.

Ở bài viết này, chúng ta sẽ tìm hiểu về từ khóa DISTINCT trong SQL, cú pháp, ví dụ thực tế và các trường hợp sử dụng phổ biến. Chúng ta cũng sẽ thảo luận về cách DISTINCT hoạt động với nhiều hàm SQL khác nhau.

SQL DISTINCT là gì trong SQL?

Từ khóa distinct được sử dụng kết hợp với từ khóa select. Nó hữu ích khi cần tránh các giá trị trùng lặp có trong bất kỳ cột/bảng cụ thể nào. Khi chúng ta sử dụng từ khóa distinct, chỉ các giá trị duy nhất được lấy.

Cú pháp sử dụng DISTINCT trong SQL

Cú pháp cơ bản của từ khóa DISTINCT để loại bỏ các bản ghi trùng lặp là như sau:

SELECT DISTINCT cot1, cot2,... cotN 
FROM ten_bang
WHERE [dieu_kien]

Ví dụ về DISTINCT trong SQL

Giả sử bảng NHANVIEN có các bản ghi như sau:

+----+----------+-----+-----------+----------+
| ID | TEN      |TUOI | DIACHI    | LUONG    |
+----+----------+-----+-----------+----------+
|  1 | Thanh    |  32 | Haiphong  |  2000.00 |
|  2 | Loan     |  25 | Hanoi     |  1500.00 |
|  3 | Nga      |  23 | Hanam     |  2000.00 |
|  4 | Manh     |  25 | Hue       |  6500.00 |
|  5 | Huy      |  27 | Hatinh    |  8500.00 |
|  6 | Cao      |  22 | HCM       |  4500.00 |
|  7 | Lam      |  24 | Hanoi     | 10000.00 |
+----+----------+-----+-----------+----------+

Trước tiên, chúng ta hãy xem cách truy vấn SELECT trả về bản ghi mức lương trùng lặp như thế nào.

> SELECT LUONG 
FROM NHANVIEN
ORDER BY LUONG;

Trong kết quả thu được sau đây, LUONG 2000 xuất hiện 2 lần là một bản ghi trùng lặp từ bảng ban đầu.

+----------+
| LUONG    |
+----------+
|  1500.00 |
|  2000.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+

Bây giờ, hãy sử dụng từ khóa DISTINCT với truy vấn SELECT và xem kết quả.

> SELECT DISTINCT LUONG 
FROM NHANVIEN
ORDER BY LUONG;
+----------+
| LUONG    |
+----------+
|  1500.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+

Nhờ DISTINCT mà kết quả thu được không có bất kỳ mục nhập trùng lặp nào.

DISTINCTvới hàm COUNT()

Hàm COUNT() được dùng để lấy số bản ghi được tinh chỉnh lại bằng truy vấn SELECT. Bạn cần chuyển một biểu thức sang hàm này để truy vấn SELECT trả về số bản ghi thỏa mãn biểu thức đã chỉ định.

Nếu chuyển từ khóa DISTINCT sang hàm COUNT() dưới dạng một biểu thức, nó trả về số giá trị riêng trong một cột của bảng.

Cú pháp sử dụng DISTINCT với hàm COUNT():

SELECT COUNT(DISTINCT column_name)
FROM table_name WHERE condition;

Trong đó, column_name là tên cột mà bạn muốn đếm giá trị duy nhất. Table_name là tên bảng chứa dữ liệu.

Ví dụ:

Trong truy vấn sau, chúng ta truy xuất số độ tuổi khác nhau của khách hàng:

SELECT COUNT(DISTINCT AGE) as UniqueAge FROM CUSTOMERS;

Kết quả: UniqueAge = 6

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về sắp xếp kết quả trong SQL, các bạn nhớ theo dõi nhé.

Nguồn tin: Quantrimang.com:

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập57
  • Hôm nay9,631
  • Tháng hiện tại32,576
  • Tổng lượt truy cập11,818,963
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây