确定配置单元中平均值(列)的最大值

uwopmtnx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(370)

我有一张table如下:

year                    int                                        
month                   int                                        
dayofmonth              int                                        
deptime                 int                                        
uniquecarrier           string                                     
flightnum               int                                        
arrdelay                int                                        
origin                  string                                     
dest                    string

我想去目的地机场(dest),那里的平均到达延误(arrdelay)是最高的。
我想避免像现在这样的粗俗的东西:

select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1;

我试过各种各样的方法,但到目前为止都没用。我可以得到最大平均时间:

select MAX(avgtime) from (SELECT dest as destination, avg(arrdelay) as avgtime FROM flightdelays GROUP BY dest) as maxdelay;

但是修改它是行不通的-它只是不允许我从上面选择目的地。
有什么想法吗?
谢谢

ecr0jaav

ecr0jaav1#

你的第一个问题是什么意思?你只想要“dest”而不是平均值吗?
如果是这样,请考虑使用其他选择:

select dest from (select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1);

hive不允许将“groupby”或“order by”与select语句中没有的字段一起使用,但mysql示例允许这样做。

相关问题