如何将两个配置单元查询与avg和max函数结合起来?

wd2eg0qa  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(325)

我有下表:

hive> desc flightdelays2;
OK
airline                 string                                      
air_id                  string                                      
source_airport          string                                      
delay                   int                                         
dest_airport            string                                      
dest_id                 int                                         
codeshare               string                                      
stops                   int                                         
equipment               string                                      
Time taken: 0.104 seconds, Fetched: 9 row(s)

我想找出每个航空公司平均延误的最大值。
我可以使用以下两个命令来执行此操作:

hive> create table max_delays as select airline as air_name,avg(delay) as avg_delay from flightdelays2 GROUP BY airline;
hive> select max(avg_delay) from max_delays

;
有没有一种方法可以在单个配置单元查询中找到它而不创建任何其他表?

4nkexdtk

4nkexdtk1#

一种方法是子查询:

select max(avg_delay)
from (select airline as air_name, avg(delay) as avg_delay
      from flightdelays2 
      group by airline
     ) a;

一个更简单的方法实际上让你也看到了航空公司(好吧,一家航空公司在领带的情况下):

select airline as air_name, avg(delay) as avg_delay
from flightdelays2 
group by airline
order by avg_delay desc
limit 1

相关问题