我有两张桌子产品和评论
每个产品都有多个评论链接由评论表中的外键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函数 我该怎么办?
答案 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