筛选出结果,我有以下表ratings
,与栏目:SQL查询基于计数
rating_id
,prod_id
,rating
,buyer
,status
,prod_type
[rating_id
是独一无二]
的rating
列取值从1
到5
和buyer
只需要2个值0
或1
。
我想编写一个SQL查询,用于从1
的买方那里以平均评级检索所有这些产品,使得1
的买方数量大于5。
例如,我想要的结果是这样的:
`prod_id` `avg(rating)` `count(*)`
ksks 3.2 6
kglgkj 4.0 8
jfkfj 2.0 13
我写了下面的查询,但它不工作:
SELECT PROD_ID,AVG(等级),计数(*
)WHERE buyer = 1 AND count(*
)>5
GROUP BY prod_id;
我得到的错误为无效使用组函数。
任何帮助,将不胜感激。谢谢
不能在使用agregate功能where子句。如果要过滤结果,请使用HAVING子句http://www.mysqltutorial.org/mysql-having.aspx – vitalygolub