SQL server 多字段重复数据删除 保留一条记录
程序员文章站
2022-06-28 11:11:52
...
1,目的:
删除部分字段有重复的数据,保留其中一条记录数据
2,效果图:
处理前:
处理后:
3,SQL
delete FROM Atable WHERE EXISTS (
SELECT id FROM( SELECT name, code FROM Atable GROUP BY name, code HAVING COUNT ( * ) > 1 ) tableabc
WHERE Atable.name= tableabc.name AND Atable.code= tableabc.code )
AND id NOT IN (
SELECT MIN(id) FROM Atable GROUP BY name,code HAVINGCOUNT ( * ) > 1)
解释:抽取Atable表的重复数据,作为一个临时表tableabc,将tableabc与Atable联查,抽取出重复的部分,只保留重复数据中最小id的一条记录数据。
推荐阅读
-
删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
-
关于mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句的深入理解
-
Sql Server里删除数据表中重复记录的例子
-
SQL server 多字段重复数据删除 保留一条记录
-
SQL语句实现删除重复记录并只保留一条
-
MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据
-
SQL删除重复数据只保留一条
-
删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
-
关于mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句的深入理解
-
通过sql找到一张表里有那些字段重复,并且删除重复的数据留id最小的一条 ,使用语法in循环删除,删除id在某个区间的数据