原创

mysql删除重复记录只保留一条

温馨提示:
本文最后更新于 2017年09月19日,已超过 2,577 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

查询出所有重复记录

select 字段名,字段名
from 表名
where 重复字段名 in (select 重复字段名  from 表名 group by 重复字段名  having count(1) >= 2) ORDER BY  重复字段名

查询出所有重复记录并且删除多余的只保留一条

delete from 表名

where 

重复字段名 in (
	SELECT a.重复字段名from(
	select 重复字段名
	from 表名
	group by 重复字段名 having count(1) > 1
	) a
)

and 

id(只保留id最小的一个) not in (
SELECT b.id from(
	select min(id) as id
	from 表名 
	group by 重复字段名 having count(1)>1	
	) b
)
正文到此结束
本文目录