我想只选择分配给该类别的文章数量超过3的类别ID。
我尝试了各种排列并发布了下面的一个,我觉得最清楚地解释了我正在尝试做的事情,尽管我有一种感觉我需要使用嵌套的SELECT。我尝试过嵌套的SELECT,但没有成功。
SELECT categoryID, COUNT(articleID) AS numArticles
FROM articles GROUP BY categoryID WHERE numArticles > 3
答案 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)
改为使用HAVING。
答案 5 :(得分:0)
为此不要使用WHERE,你必须使用HAVING。
试试这个:
SELECT categoryID, COUNT(articleID) AS numArticles
FROM articles GROUP BY categoryID HAVING numArticles > 3