我有一个SQL查询可以检索与广告表连接的评级表的平均评分。在COUNT(*)条件中添加WHERE条件MySQL
我的查询工作正常,但我想添加一个WHERE语句来获得只有获得两个或更多评级的广告。
这是我的查询:
SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
GROUP BY ad_id
而我所需的查询:
SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
WHERE num_rates > 1
GROUP BY ad_id
但MariaDB的告诉我:
[错误] 1054 - 在“where子句中未知列 'num_rates' '
谢谢对不起,我的小白在MySQL
考虑使用** **有条款,这与聚合函数的工作原理是COUNT – fungusanthrax
你应该在你组语句中使用'having' 。 –
与groupby合作 –