检查表中的重复记录,其中Id是标识

时间:2011-06-02 14:38:52

标签: sql sql-server duplicates identity record

在我的表中,ID是主键字段和标识列。 我想查看重复记录。 (当然重复的记录没有相同的ID)

并且没有相同的日期字段。

我该如何检查。

额外细节:我有10个列,1个ID,2个日期和其他3个字符串,3个Int,1个位。

Thansk in Advance。

3 个答案:

答案 0 :(得分:4)

您可以使用GROUP BY对类似记录进行分组以对其进行计数,然后添加HAVING子句以仅筛选出多次出现的记录:

select StringCol1, StringCol2, StringCol3, IntCol1, IntCol2, IntCol3, BitCol1, count(*) as Count
from MyTable
group by StringCol1, StringCol2, StringCol3, IntCol1, IntCol2, IntCol3, BitCol1
having count(*) > 1

答案 1 :(得分:1)

请使用GROUP BY对类似记录进行分组,并使用HAVING指定条件。

select count(string1), count(string2),count(string3),count(int1), count(int2),count(int3),count(bit1)
from table1
group by string1, string2, string3, int1, int2, int3, bit1
having count(string1) > 1 and count(string2) > 1 and count(string3) > 1 and count(int1) > 1 and count(int2) > 1 and count(int3) > 1 and count(bit1) > 1

答案 2 :(得分:0)

一种普遍的方法如下。希望这可以帮助你。

SELECT COL1, COL2, ..., COLn, COUNT(*) 
FROM TABLE1 
GROUP BY COL1,COL2, .., COLn 
HAVING COUNT(*) > 1