按平均值筛选SQL

时间:2009-05-26 05:34:55

标签: sql

我有两张桌子产品和评论
每个产品都有多个评论链接由评论表中的外键product_id链接 另外每个评论都有一个名为rating的字段,带有十进制值
我希望获得平均评分高于特定阈值的所有产品的名称

中的内容
SELECT p.name
FROM products p
INNER JOIN reviews r ON p.id = r.product_id
WHERE avg(r.rating) > 3

MySQL不允许我在where子句中使用avg函数 我该怎么办?

1 个答案:

答案 0 :(得分:7)

使用'have'

SELECT p.name, avg(r.rating) as average
FROM products p
INNER JOIN reviews r ON p.id = r.product_id
GROUP BY p.name
HAVING avg(r.rating) > 3