您的位置:首页 > 数据库 > MySQL

mysql 删除表中重复的数据,只保留一条

2017-06-01 21:19 295 查看
在实际的开发业务中,由于没有做好校验,导致在同步数据的时候,同一条数据同步了两次。上了生产环境好,就想着用删除重复的数据,单个删除 即浪费时间,也不是一个程序员好的习惯。 好的程序员都不会做重复劳动,一步解决问题。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql