在我的表中,ID是主键字段和标识列。 我想查看重复记录。 (当然重复的记录没有相同的ID)
并且没有相同的日期字段。
我该如何检查。
额外细节:我有10个列,1个ID,2个日期和其他3个字符串,3个Int,1个位。
Thansk in Advance。
答案 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