2012-01-05 143 views
3

如果我有一个有重复ID的表,那么如何计算表中出现相同ID的次数,并且只显示具有数大于1?使用count()构建sql查询where count()is> 1

我已经试过:

SELECT COUNT(ID) AS myCount FROM myTbl 
WHERE myCount > 1 GROUP BY ID 

但它说myCount是无效的列名。有人能告诉我我做错了什么吗?

回答

9

您需要使用HAVING关键字:

SELECT COUNT(ID) AS myCount FROM myTbl 
GROUP BY ID 
HAVING COUNT(ID) > 1 

从MSDN:

指定组或聚合的搜索条件。 HAVING只能使用SELECT语句使用 。 HAVING通常用于GROUP BY子句中的 。当不使用GROUP BY时,HAVING的行为如同 WHERE子句。

+0

Ooohh yeah lawl,thx Dave! – 2012-01-05 22:31:47