2012-01-05 145 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