Hướng dẫn tìm kiếm và xóa dữ liệu trùng lắp Duplicate trong Microsoft Sqlserver 2016
Bài viết hôm nay, mình xin hướng dẫn các bạn cách tìm kiếm và xóa dữ liệu trùng lắp trong Sql server. Trong quá trình, làm việc với Sqlserver, không ít lần dữ liệu của các bạn có thể bị trùng lắp (Duplicate), mà những dữ liệu đó không cần thiết, bạn có thể ...
Bài viết hôm nay, mình xin hướng dẫn các bạn cách tìm kiếm và xóa dữ liệu trùng lắp trong Sql server. Trong quá trình, làm việc với Sqlserver, không ít lần dữ liệu của các bạn có thể bị trùng lắp (Duplicate), mà những dữ liệu đó không cần thiết, bạn có thể xóa chúng đi để tối ưu hóa database hoặc tính toán dữ liệu được chính xác.
Vậy làm cách nào để có thể tìm kiếm ra những dòng dữ liệu trùng đó, và xóa chúng đi chỉ để lại duy nhất một dòng.
Các ban có thể làm theo hướng dẫn bên dưới, chỉ một vài dòng lệnh T-SQL, có thể giải quyết được vấn đề.
Ví dụ: mình có database dữ liệu NORTHWND và bảng table Customer làm ví dụ:
Cấu trúc dữ liệu của bảng Customer:
Dưới đây là dữ liệu của bảng Customer.
Các bạn có thể thấy dữ liệu ở hình trên cột Country trùng nhau.'
Bây giờ, mình viết câu lệnh đếm xem cộ Country có bao nhiêu dòng dữ liệu bị trùng, và dòng dữ liệu nào trùng sẽ hiển thị lên
select * from Customers SELECT country , COUNT(country) AS number_record FROM Customers GROUP BY Country HAVING COUNT(country) > 1
- Tiếp theo, mình viết tiếp câu lệnh cho hiển thị đầy đủ những dòng dữ liệu bị Duplicate
SELECT * FROM Customers WHERE country IN ( SELECT country FROM Customers GROUP BY Country HAVING COUNT(Country) > 1 ) ORDER BY country
- Câu lệnh xóa dữ liệu trùng nhau, chỉ để lại một Record duy nhất
Đầu tiên, các bạn thêm vào cột Id kiểu int và cho tự động tăng. (indentity = true), để mình lấy dòng nào có id lớn hơn sẽ để lại một dòng, nếu sql vẫn không cho các bạn xóa vì dính tham chiếu khóa, các bạn có thể tắt khóa chính, sau khi chạy xong câu lệnh rồi bật lên lại.
DELETE n1 FROM customers n1, customers n2 WHERE n1.country = n2.country AND n1.id > n2.id
Các bạn có thể download dữ liệu NORTHWND tại link bên dưới
link download
Chúc các bạn thành công. Mọi câu hỏi thắc mắc đến bài viết xin truy cập http://hoidap.laptrinhvb.net để được support.
ĐỪNG QUÊN LIKE AND SHARE NHA CÁC BẠN.
CÁM ƠN CÁC BẠN ĐÃ THEO DÕI.