Trước tiên, hãy cố gắng chọn các bản sao, xóa chúng
DELETE FROM usa_city WHERE city_id IN
(
SELECT city_id FROM usa_city
GROUP BY city_name, id_state
HAVING count(city_id) > 1
)
Hy vọng nó sẽ giúp !!!
ĐÃ SỬA ĐỔI:Dựa trên nhận xét, nếu bạn muốn giữ một bản ghi , bạn có thể tham gia và giữ giá trị thấp nhất
DELETE c1 FROM usa_city c1, usa_city c2 WHERE c1.id < c2.id AND
(c1.city_name= c2.city_name AND c1.id_state = c2.id_state)
Đảm bảo sao lưu trước khi thực hiện truy vấn trên ...