在实际的开发业务中,由于没有做好校验,导致在同步数据的时候,同一条数据同步了两次。上了生产环境好,就想着用删除重复的数据,单个删除 即浪费时间,也不是一个程序员好的习惯。 好的程序员都不会做重复劳动,一步解决问题。
DELETE FROM doctor_info WHERE doctor_id IN (
SELECT * FROM
(SELECT doctor_id FROM doctor_info WHERE data_from = 1 GROUP BY doctor_id HAVING COUNT(doctor_id) > 1)
AS b)
AND id NOT IN (SELECT * FROM
(SELECT MIN(id) FROM doctor_info WHERE data_from = 1 GROUP BY doctor_id HAVING COUNT(doctor_id) > 1)
AS c);
doctor_info : 表名
doctor_id : 重复字段
id:表id