Từ khóa DISTINCT trong SQL
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é.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Cách kích hoạt Windows Subsystem for Linux trên Windows
Hôm qua -
Khối D01 thi môn nào, học ngành nào?
Hôm qua -
Tổng hợp 1001+ thuật ngữ trong Liên Quân Mobile
2 ngày 7 -
Cách tìm tài khoản liên kết với địa chỉ email
Hôm qua -
Code Wuthering Waves mới nhất 18/05/2025 và hướng dẫn đổi code
3 ngày -
Hình nền trắng, ảnh nền trắng đẹp
3 ngày -
Cách thức tỉnh trái ác quỷ Blox Fruit
2 ngày -
19/5 là ngày gì? Ngày 19 tháng 5 năm 1890 là ngày gì?
Hôm qua 6 -
Tại sao khởi động lại router có thể khắc phục được nhiều vấn đề?
Hôm qua -
Outlook là gì? Cách sử dụng Outlook cho người mới
2 ngày