Импала - Рассчитать процент от одной таблицы - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть таблица такого типа, названная как table_A

 Cust        Amount      Src_cust
  A           2000         B
  A           3000         C
  A           1000         B
  C           1000         B

Результат

 Cust        Percentage  Src_cust
  A           50 %         B
  A           50 %         C
  C           100%         B

Я хочу получить такие данные, я использую Impala для своего запросано не удалось получить процент.

Select Cust,(Sum(Amount) * 100) /sum(sum(Amount)) over() as  percentage, Src_cust
from table_A 

Этот код дает мне результат:

Cust        Percentage  Src_cust
  A           0            B
  A           0            C
  C           0            B

Помогите, пожалуйста.Спасибо

1 Ответ

0 голосов
/ 04 декабря 2018

Вам нужна некоторая агрегация в вашей попытке.Я думаю, что правильный запрос:

select cust,
       sum(amount) * 100.0 /sum(sum(amount)) over (partition by cust) as  percentage, Src_cust
from table_A
group by cust, src_cust
...