按平均值筛选SQL

Adi*_*rji 0 sql

我有两个表产品和评论
每个产品有几个评论由评论表中的
外键product_id链接另外每个评论都有一个名为评级的字段十进制值
我希望得到所有平均评级高于a的产品的名称某些阈值的
某些内容

SELECT p.name
FROM products p
INNER JOIN reviews r ON p.id = r.product_id
WHERE avg(r.rating) > 3
Run Code Online (Sandbox Code Playgroud)

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

Luk*_*fer 7

用'有'

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
Run Code Online (Sandbox Code Playgroud)