Từ khóa DISTINCT trong SQL
DISTINCT trong SQL được sử dụng như thế nào? Bài viết sẽ cung cấp cho bạn kiến thức cơ bản về select distinct trong SQL.
Ắt hẳn bạn đã từng được nghe nói rằng bạn nên là duy nhất. Bạn không nên là bản sao của ai đó! Giá mà dữ liệu của bạn chịu lắng nghe lời khuyên này và tự sắp xếp lại!
Nhưng không, bạn cần phải xem xét từng hàng trong cơ sở dữ liệu và quyết định xem hàng đó có trùng lặp hay không. Hoặc, ít nhất, đó là một câu chuyện bạn kể với sếp để miêu tả công việc của bạn là vô cùng khó khăn, có thể cũng để gây thương hại và được tăng lương.
Hành động đó như thể bạn không sử dụng SELECT DISTINCT để loại bỏ các bản sao chỉ trong vài giây. Bạn không làm vậy ư? Bạn thực sự phải xem xét từng hàng để tìm các bản sao? Bạn đang xuất dữ liệu sang Excel rồi sử dụng định dạng có điều kiện để làm nổi bật các bản sao. Không, không, có một cách dễ hơn. Những kiến thức về DISTINCT trong SQL dưới đây sẽ giúp bạn xử lý dữ liệu nhanh chóng hơn.
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
-
Tăng tốc kết nối mạng Internet trên máy tính Windows 10
Hôm qua -
Cách dùng VPN Gate fake IP ổn định Internet
Hôm qua -
Tổng hợp phím tắt chơi PUBG và PUBG Mobile trên máy tính
Hôm qua -
Cách tạo vị trí giả, fake GPS trên iPhone
Hôm qua -
Loạt tên món ăn hài hước, độc lạ khiến khách hàng ‘cười ngất’
Hôm qua -
Cap hay về nắng, những câu nói hay về nắng
Hôm qua -
Cách chụp ảnh màn hình cuộn, màn hình dài trong Windows
Hôm qua -
Hướng dẫn in hai mặt giấy trong Word, PDF, Excel cho máy in hỗ trợ 2 mặt, 1 mặt
Hôm qua -
Lệnh MineCraft, mã cheat MineCraft đầy đủ nhất
Hôm qua -
Tổng hợp bài tập Pascal có giải, từ dễ đến khó
Hôm qua 9