我有下表hosts
,列为:
http://registry
,localhost
,ratings
,rating_id
,prod_id
,rating
[buyer
是唯一的]
status
列的值从prod_type
到rating_id
,而rating
只需要2个值1
或5
。
我想编写一个SQL查询,检索所有那些平均评分来自buyer
的买家的产品,以使特定产品的0
买家数大于5。
例如,我希望结果如下:
1
我编写了以下查询,但它无效:
SELECT prod_id,avg(rating),count(1
)WHERE buyer = 1 AND count(1
)> `prod_id` `avg(rating)` `count(*)`
ksks 3.2 6
kglgkj 4.0 8
jfkfj 2.0 13
GROUP BY prod_id;
我收到错误无效使用群组功能。
任何帮助将不胜感激。感谢
答案 0 :(得分:3)
您必须使用HAVING
来检查COUNT
。使用以下查询:
SELECT prod_id, AVG(rating), COUNT(*)
WHERE buyer = 1
GROUP BY prod_id
HAVING COUNT(*) > 5
答案 1 :(得分:1)
您可以使用HAVING:
SELECT prod_id, avg(rating), count(*)
WHERE buyer = 1
GROUP BY prod_id
HAVING count(*) > 5