如何让T-SQL代码找到重复项?

MS Access有一个按钮,用于生成用于查找重复行的sql代码。我不知道SQL Server 2005/2008 Managment Studio是否有此功能。

  1. 如果有,请指出哪里
  2. 如果还没有,请告诉我如何创建一个T-SQL帮助器来创建这样的代码。

好吧,如果你的表中有完整的行作为重复行,你至少没有为该表设置主键,否则至少主键值会有所不同。

但是,以下是如何构建SQL以在一组列上获取重复项:

SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1

这将找到对于列col1-col4具有相同值组合的行,不止一次。

例如,在下表中,第2 + 3行将是重复的:

PK col1 col2 col3 col4 col5
1 1 2 3 4 6
2 1 3 4 7 7
3 1 3 4 7 10
4 2 3 1 4 5

这两行在列col1-col4中共享公共值,因此,该SQL被认为是重复的。展开列列表以包含要为其分析的所有列。


分享到:


相關文章: