【发布时间】:2011-02-15 00:48:38
【问题描述】:
你会立即认为我是直接跑到这里来问我的问题,但我在谷歌上搜索了很多都没有找到决定性的答案。
事实:我有一个包含 330 万行、20 列的表。 第一行是唯一的主键。
我必须删除第 2 列到第 11 列重复的所有行。实际上是一个基本问题,但方法却大不相同,而每个人最终都寻求相同的解决方案,删除重复项。
我个人在考虑 GROUP BY HAVING COUNT(*) > 1 这是要走的路还是你有什么建议?
提前非常感谢! 升
【问题讨论】:
-
我认为你的意思是关于 PK 的专栏,但是,如果你明白了,我们明白了;)。
-
我假设您的意思是第 2 列到第 11 列?
-
@Kenneth - 好问题。 @laurens如果您的意思是列平均每组有多少重复项?需要删除的表的百分比将是一个因素。相关:stackoverflow.com/questions/18932/…
-
首先,感谢所有的答案。我将立即开始测试所有这些,但显然 CTE 是要走的路。当然我的意思是 column2 到 column11 而不是 row,愚蠢的错误!
标签: sql sql-server sql-server-2005 tsql sql-server-2008