欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL server 多字段重复数据删除 保留一条记录

程序员文章站 2022-06-28 11:11:52
...

1,目的:

删除部分字段有重复的数据,保留其中一条记录数据

2,效果图:

处理前:
SQL server 多字段重复数据删除 保留一条记录

处理后:
SQL server 多字段重复数据删除 保留一条记录

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的一条记录数据。

相关标签: SQLserver