impala-从一个表计算百分比

wvmv3b1j  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(663)

我有一张这样的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

请帮帮我。谢谢您

7nbnzgx9

7nbnzgx91#

你的尝试需要一些聚合。我认为正确的问题是:

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

相关问题