使用COUNT(id)作为条件的条件SELECT COUNT(id)?

时间:2010-12-16 12:45:00

标签: sql-server count

我想只选择分配给该类别的文章数量超过3的类别ID。

我尝试了各种排列并发布了下面的一个,我觉得最清楚地解释了我正在尝试做的事情,尽管我有一种感觉我需要使用嵌套的SELECT。我尝试过嵌套的SELECT,但没有成功。

SELECT categoryID, COUNT(articleID) AS numArticles 
FROM articles GROUP BY categoryID WHERE numArticles > 3

6 个答案:

答案 0 :(得分:6)

使用having

SELECT categoryID, COUNT(articleID) AS numArticles 
FROM articles GROUP BY categoryID HAVING COUNT(articleID) > 3

答案 1 :(得分:4)

SELECT categoryID, COUNT(articleID) AS numArticles 
FROM articles GROUP BY categoryID 
HAVING COUNT(articleID) > 3

答案 2 :(得分:2)

您需要使用Having子句

Select CategoryId, Count(ArticleId) as numArticles
From dbo.Articles
Group By CategoryId
Having Count(ArticleId) > 3

答案 3 :(得分:2)

使用HAVING条款:

SELECT categoryID, COUNT(articleID) AS numArticles 
FROM articles 
 GROUP BY categoryID 
 HAVING COUNT(articleID) > 3

来自MSDN

  

指定组或聚合的搜索条件。 HAVING只能与SELECT语句一起使用。 HAVING通常用于GROUP BY子句。不使用GROUP BY时,HAVING的行为类似于WHERE子句。

答案 4 :(得分:1)

答案 5 :(得分:0)

为此不要使用WHERE,你必须使用HAVING。

试试这个:

SELECT categoryID, COUNT(articleID) AS numArticles 
FROM articles GROUP BY categoryID HAVING numArticles > 3