Để nhanh chóng xem các hàng trùng lặp, bạn có thể chạy một truy vấn đơn giản
Ở đây tôi đang truy vấn bảng và liệt kê tất cả các hàng trùng lặp với cùng user_id, market_place và sku:
select user_id, market_place,sku, count(id)as totals from sku_analytics group by user_id, market_place,sku having count(id)>1;
Để xóa hàng trùng lặp, bạn phải quyết định hàng nào bạn muốn xóa. Ví dụ: người có id thấp hơn (thường là cũ hơn) hoặc có thể một số thông tin ngày khác. Trong trường hợp của tôi, tôi chỉ muốn xóa id thấp hơn vì id mới hơn là thông tin mới nhất.
Đầu tiên kiểm tra nếu các hồ sơ đúng sẽ bị xóa. Ở đây tôi đang chọn bản ghi trong số các bản sao sẽ bị xóa (theo id duy nhất).
select a.user_id, a.market_place,a.sku from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
Sau đó, tôi chạy truy vấn xóa để xóa các bản sao:
delete a from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
Sao lưu, kiểm tra hai lần, xác minh, xác minh sao lưu sau đó thực hiện.