Xử lý bản sao - HANDLING DUPLICATE trong SQL
Có tình huống dữ liệu có nhiều bản ghi trùng lặp trong một bảng và bạn muốn lấy ra bản ghi duy nhất chứ không phải lấy ra tất cả các bản ghi trùng lặp. Để xử lý tình huống này, hãy sử dụng từ khoá DISTINCT trong SQL kết hợp với câu lệnh SELECT, bạn sẽ loại bỏ được tất cả các bản ghi trùng lặp và chỉ lấy ra bản ghi duy nhất.
Cú pháp
Cú pháp cơ bản của từ khóa DISTINCT để loại bỏ các bản sao là như sau:
SELECT DISTINCT cot1, cot2... cotN
FROM ten_bang
WHERE [dieu_kien]
Ví dụ minh họa cách xử lý Duplicate trong SQL
Xét bảng NHANVIEN có các bản ghi 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 | +----+----------+-----+-----------+----------+
Đầu tiên, chúng ta xem cách truy vấn SELECT trả về bản sao của LUONG:
SQL> SELECT SALARY FROM CUSTOMERS
ORDER BY SALARY;
Trong kết quả thu được, LUONG 2000 xuất hiện hai lần, và là một bản sao từ bảng ban đầu.
+----------+ | LUONG | +----------+ | 1500.00 | | 2000.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+
Bây giờ, sử dụng từ khóa DISTINCT với truy vấn SELECT trên và xem kết quả:
SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
ORDER BY SALARY;
Trong kết quả thu được, bạn sẽ không thấy bất kỳ bản sao nào.
+----------+ | LUONG | +----------+ | 1500.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+
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
-
Hàm Match trong Excel: Cách sử dụng hàm Match kèm ví dụ
Hôm qua -
Cách khóa công thức trên Excel
Hôm qua -
Số thực là gì?
Hôm qua -
50 câu ca dao, tục ngữ về đạo đức, đạo lý làm người hay và sâu sắc
Hôm qua -
LEFT JOIN trong SQL
Hôm qua -
AOE 1, Đế Chế 1 cho PC
-
Cách tạo checkbox trong Google Sheets
Hôm qua 1 -
Hàng ngày hay hằng ngày? Khi nào dùng 'hàng ngày', khi nào dùng 'hằng ngày'
Hôm qua -
6 cách kiểm tra card màn hình nhanh nhất, chính xác nhất
Hôm qua -
Cách dùng hàm LOOKUP trong Excel
Hôm qua