Duplicate có thể là một vấn đề lớn khi chúng có thể làm giảm hiệu suất và lãng phí bộ nhớ.
Sau đây là một vài cách để loại bỏ chúng:
Loại bỏ duplicate sử dụng từ khóa DISTINCT
Một trong những cách đơn giản nhất là sử dụng từ khóa DISTINCT. Bạn có thể sử dụng nó với câu lệnh SELECT để nhận về những giá trị duy nhất của một column.
Cú pháp:
SELECT DISTINCT column_name
FROM table_name
Loại bỏ duplicate sử dụng câu lệnh GROUP BY
Một cách khác để loại bỏ duplicate là sử dụng câu lệnh GROUP BY. Nó được dùng để nhóm các hàng có cùng giá trị trong column, do đó nó thường đi với các hàm tổng hợp như COUNT(), SUM(), AVG(), MAX(), MIN() để tính toán cho từng nhóm.
Ở đây ta chỉ dùng GROUP BY cho mục đích loại bỏ duplicate trong một column nên cú pháp sẽ là:
SELECT column_name
FROM table_name
GROUP BY column_name
Loại bỏ duplicate sử dụng câu lệnh INNER JOIN
Câu lệnh INNER JOIN thường dùng để combine các hàng từ hai hoặc nhiều bảng dựa trên column chung giữa chúng để truy vấn thông tin. Bằng cách sử dụng INNER JOIN cho chỉ một bảng, ta có thể loại bỏ duplicate.
Cú pháp:
SELECT a.column_name
FROM table_name a
INNER JOIN table_name b ON a.column_name = b.column_name
WHERE a.primary_key > b.primary_key
Ví dụ ta có bảng employees với 3 cột "employee_id", "employee_name" và "department_id". Ta sẽ loại bỏ duplicate trong cột department_id như sau:
SELECT a.department_id
FROM employees a
INNER JOIN employees b ON a.department_id = b.department_id
WHERE a.employee_id > b.employee_id
Kết luận
Remember to always make a backup of your data before modifying it to avoid any potential data loss.
Source: https://www.freecodecamp.org/news/how-to-remove-duplicate-data-in-sql/