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_bangWHERE [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ướng dẫn vào BIOS trên các dòng máy tính khác nhau
Hôm qua 7 -
Reset Windows 10 về trạng thái ban đầu
Hôm qua 21 -
Cách để copy nội dung trên web không cho copy
Hôm qua 1 -
Cách xóa hàng loạt lời mời kết bạn Facebook đã gửi
Hôm qua 3 -
Danh sách đầu số các mạng di động ở Việt Nam
Hôm qua 49 -
Code Blade Ball mới nhất và cách nhập code
Hôm qua -
1000+ câu đố vui và đố mẹo hài hước có đáp án
Hôm qua 42 -
Bảng mã ASCII và bảng ký tự Latin chuẩn ISO 1252
Hôm qua -
Cách mở Task Manager trên Windows đơn giản nhất
Hôm qua -
Cách tạo liên kết trong PowerPoint
Hôm qua