数据库中表存在重复数据,需要清理重复数据,清理后保留其中一条的情况是比较常见的需求,如何通过1条SQL准确的删除数据呢?
1....(c1,c2,c3,c4) VALUES( 'd','b',40, '2022-05-24 18:00:46'),('r','f',40, '2022-05-24 18:00:46');
1.3 查看重复数据...例如c1,c2 这2个字段组合作为唯一条件,则查询重复数据的SQL如下
SELECT
c1,
c2,
COUNT(*)
FROM
test
GROUP BY c1,
c2
HAVING...如何删除重复数据
2.1 方案一
很多研发同学习惯的思路如下:
先查出重复的记录(使用in)
再查出在重复记录但id不在每组id最大值的记录
直接将select 改为delete进行删除
查询SQL...共 7 行受到影响
删除后数据如下:
无重复数据了。