gpt4 book ai didi

sql - 如何查询由配置单元中的聚合函数创建的列?

转载 作者:可可西里 更新时间:2023-11-01 15:09:45 27 4
gpt4 key购买 nike

在 hive 中,我想选择 users>=40 的记录。我的表列由字段 userid 组成。所以我用了

select title,sum(rating),count(userid) from table_name 其中 count(userid)>=40
按标题分组 order by rating desc

但是它显示错误,比如你不能在 where 子句中使用 count。我也试过使用像这样的别名

select title,sum(rating) as ratings,count(userid) as users where users>=40 group by title order by ratings desc

在这里我也遇到了错误,显示用户不是表中的列名。我需要获得具有至少 40 个用户的最高评级的标题

最佳答案

你想要 having 子句:

select title, sum(rating), count(userid) 
rom table_name
group by title
having count(userid) >= 40
order by sum(rating) desc;

不过在 Hive 中,您可能需要使用列别名:

select title, sum(rating) as rating, count(userid) as cnt
rom table_name
group by title
having cnt >= 40
order by rating desc;

关于sql - 如何查询由配置单元中的聚合函数创建的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48069442/

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