sql表中重复记录

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:39:41
想删除表中相同记录的其中一条。两条记录是所有字段是相同。

假设字段较少,也不以不操作所有行,比如有FIELD1,FIELD2,FIELD3 三个字段
那么这样:
SELECT * INTO #TMP FROM TABLENAME GROUP BY FIELD1,FIELD2,FIELD3 HAVING COUNT(1)>1
DELETE TABLENAME WHERE EXISTS (SELECT 1 FROM #TMP WHERE #TMP.FIELD1=TABLENAME.FIELD1 AND #TMP.FIELD2=TABLENAME.FIELD2 AND #TMP.FIELD3=TABLENAME.FIELD3 )
INSERT INTO TABLENAME SELECT * FROM #TMP

比较麻烦,还要把相同的记录进行导入

使用distinct