我已经看到了几个解决方案,但我想知道最好和最有效的方法是删除表的重复数据。您可以使用代码(SQL 等)来说明您的观点,但我只是在寻找基本算法。我以为 SO 上已经有关于此的问题,但我找不到,所以如果它已经存在,请提醒我。
(只是为了澄清 - 我指的是在具有增量自动 PK 的表中删除重复项,并且有些行在除 PK 字段之外的所有内容中都是重复的。)
最佳答案
使用解析函数row_number:
WITH CTE (col1, col2, dupcnt)
AS
(
SELECT col1, col2,
ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col1) AS dupcnt
FROM Youtable
)
DELETE
FROM CTE
WHERE dupcnt > 1
GO
关于sql - 对表进行重复数据删除的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230295/