+1

Loại bỏ dữ liệu Duplicate trong SQL

Mayfest2023

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/


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí