SQL Hive добавить столбец на основе значения столбца - PullRequest
0 голосов
/ 16 января 2019

У меня есть запрос, который выглядит как

select
  number,
  class,
   unix_timestamp(date1) - unix_timestamp(date2) as time_example,
   sum(unix_timestamp(date1) - unix_timestamp(date2)) over(partition by unix_timestamp(date1) - unix_timestamp(date2) order by class) as class_time
from myTable

Что дает такие результаты, как

number        class         time_example       class_time
1             math          5                  5
1             science       5                  10
1             art           5                  15
1             math          2                  2
1             science       2                  4
1             art           2                  6
1             math          10                 10
1             science       10                 20
1             art           10                 30

Я хочу добавить столбцы, основанные на классе, и иметь только 3 разных столбца, потому что есть только 3 столбца. Например, время для математики и получит 17. Это желаемая таблица, я хотел бы получить

number        class         class_time
1             math          17
1             science       17
1             art           17

1 Ответ

0 голосов
/ 17 января 2019

Вы можете сделать это, используя group by

select number, class,
sum(unix_timestamp(date1) - unix_timestamp(date2)) as class_time
from myTable
group by number,class;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...