2015-04-03 142 views
0

我是新来的SQL,并试图执行一个查询,只会返回每个类别,如果每个出现4次或更多。从谷歌搜索,似乎我应该使用计数,但它似乎并没有返回类别。SQL查询其中count> = 3

任何想法?

SELECT Category 
FROM myTable 
HAVING COUNT(*) >= 3"; 
+2

将'Group By Category'添加到您的查询中。还要指定您正在使用哪个dbms。 – 2015-04-03 14:35:44

+0

哪个RDBMS是为了这个?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 – 2015-04-03 14:44:04

回答

0

这是将返回每个类别,如果每个出现4次或更多的查询。

SELECT Category 
FROM mytable 
GROUP BY Category 
HAVING count(*) >= 4; 
1

只需修改您的查询像这样通过添加GROUP BY子句:与

SELECT Category 
FROM myTable 
group by category 
HAVING COUNT(*) >= 4; -- Change this to 4 to return each Category if each one appears 4 times or more 
0

HAVING条款只适用于结合GROUP BY

SELECT Category 
FROM myTable 
GROUP BY CATEGORY 
HAVING COUNT(*) > 3; 

根据您的文章也改变了你的HAVING想知道4个或更多。