我有一张表:
ID DATE
01 20.06.13
01 21.06.13
02 13.04.13
03 12.05.13
04 17.05.13
04 19.06.13
我需要进行查询,以便我拥有在DATE字段中有两个或更多条目的不同ID的总量。例如,在示例表中,只有01和04至少有两个条目,因此我的查询结果应为2。
答案 0 :(得分:4)
由于您的要求是唯一重复项的总计数,而不是列出重复项本身,以下是执行此操作的查询:
SELECT Count(*)
FROM
(
SELECT ID
FROM dbo.YourTable
GROUP BY ID
HAVING Count(*) >= 2
) X
;
您也可以使用某种JOIN
(包括子查询,相关或不相关),但效率远低于上面的聚合。
答案 1 :(得分:3)
试试这个。
SELECT DISTINCT ID, COUNT(*) FROM TABLE_NAME GROUP BY ID HAVING COUNT(*) > 1
答案 2 :(得分:3)
我认为你正在寻找这个:
Select id
from table
group by id
having count(id) > 1
答案 3 :(得分:1)
select totalDuplicatedIds = count(*)
from (
select id
from table
group by id
having count(*) > 1
) t