gpt4 book ai didi

mysql - 在 COUNT(*) 条件 MySQL 中添加一个 WHERE

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:07 24 4
gpt4 key购买 nike

我有一个 SQL 查询,它检索与广告表连接的评级表的平均评级。

我的查询工作正常,但我想添加一个 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 菜鸟

最佳答案

您不能在 WHERE 中使用列别名所以你需要做。

SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
WHERE COUNT(user_id) > 1
GROUP BY ad_id

或者更好地使用 HAVING 与 GROUP BY 一起使用

SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
GROUP BY ad_id
HAVING COUNT(user_id) > 1

关于mysql - 在 COUNT(*) 条件 MySQL 中添加一个 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46608740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com