Улей стол с суммой и группой по - PullRequest
0 голосов
/ 04 мая 2020

У меня есть одна таблица Hive с данными ниже. Я хочу преобразовать эти 6 строк в 2 строки BaseD по ключу и хочу строку с type = 'credit'.

    key          type    price1
    111          null      1000
    111-21      credit    2000
    111-31      credit    3000
    222         credit    1000
    222-21      null      2000
    222-31      null      3000

Я хочу, чтобы O / p как

    key type  price1
    111 credit 6000
    222 credit 6000

У меня есть попробовал ниже запрос, но не получил желаемый результат, может кто-то, пожалуйста, помогите мне, как я должен это сделать.

    select key,type,sum(price1) from tablename where type='credit' group by substr(key,3), type;

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Попробуйте следующее. Вам нужно использовать coalesce для замены нулевых значений на credit.

select
    substr(key, 1, 3) as key,
    coalesce(type, 'credit') as type,
    sum(price1) as price1
from myTable
group by
    substr(key, 1, 3),
    coalesce(type, 'credit')
0 голосов
/ 04 мая 2020

select key, type, sum(price1) from tablename where type = "credit" group by substr(key,1,3)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...