可能重复:
如何使用 SQL 删除重复行?
我有一个没有主键的表和一个包含重复条目的列。我想删除所有重复项,在表中保留一个条目。请帮忙
可能重复:
如何使用 SQL 删除重复行?
我有一个没有主键的表和一个包含重复条目的列。我想删除所有重复项,在表中保留一个条目。请帮忙
由于您使用的是 SQL Server 2005+,因此您可以使用 CTE 执行此操作:
;WITH cte AS
(
SELECT ROW_NUMBER() OVER (PARTITION BY Col1, Col2, Col3 ORDER BY (SELECT 0)) RN
FROM yourtable
)
DELETE FROM cte
WHERE RN > 1
将 Row_Number 函数与 Partition By 所有字段一起使用,并仅保留 RN = 1 的行。
创建存储过程和过程内部:
如果您有问题,那么我必须为您编写 sp。