首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定Hive中的avg(col)的最大值

问确定Hive中的avg(col)的最大值
EN

Stack Overflow用户
提问于 2016-04-08 22:26:53
回答 1查看 915关注 0票数 0

我有一个表,如下:

代码语言:javascript
复制
year                    int                                        
month                   int                                        
dayofmonth              int                                        
deptime                 int                                        
uniquecarrier           string                                     
flightnum               int                                        
arrdelay                int                                        
origin                  string                                     
dest                    string                                     

我想要得到平均到达延迟(arrdelay)最高的目的地机场(dest)。

我想避免像我现在这样的粗糙的东西:

代码语言:javascript
复制
select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1;

我尝试了所有的方法,但到目前为止都不起作用。实际上我可以得到最大平均时间:

代码语言:javascript
复制
select MAX(avgtime) from (SELECT dest as destination, avg(arrdelay) as avgtime FROM flightdelays GROUP BY dest) as maxdelay;

但是修改它是行不通的--它不会让我从上面的代码中选择目的地。

有什么想法吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-04-10 01:32:28

关于你的第一个问题,你说粗糙是什么意思?是不是你只想要“dest”而不想要平均值?

如果是这样,请考虑使用额外的select:

代码语言:javascript
复制
select dest from (select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1);

Hive不允许对select语句中没有的字段使用'group by‘或'order by’,例如Mysql。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36502170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档