Как совместить два запроса улья с функциями avg и max? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть таблица ниже:

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)

Я хочу найти максимальное среднее значение задержки для каждой авиакомпании.

Я могу сделать это, используя следующие 2 команды:

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

;

Есть ли способ найти это в одном запросе улья без создания дополнительной таблицы?

1 Ответ

0 голосов
/ 24 мая 2018

Один из методов - это подзапрос:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...