delete a from 表名 a, (select *,min(主键) as c from 表名 group by 重复字段 having count(1) > 1) as b
where a.重复字段= b.重复字段 and a.主键 > b.c
本文介绍了一种使用SQL语句从数据库表中删除重复记录的方法。通过结合子查询与GROUP BY语句找出具有相同字段值但主键不同的记录,并仅保留每个重复组中主键最小的一条记录。
delete a from 表名 a, (select *,min(主键) as c from 表名 group by 重复字段 having count(1) > 1) as b
where a.重复字段= b.重复字段 and a.主键 > b.c
1793
45万+
3940

被折叠的 条评论
为什么被折叠?