impala-从一个表计算百分比

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

我有一张这样的table,名字叫做表a

  1. Cust Amount Src_cust
  2. A 2000 B
  3. A 3000 C
  4. A 1000 B
  5. C 1000 B

结果

  1. Cust Percentage Src_cust
  2. A 50 % B
  3. A 50 % C
  4. C 100% B

我想得到这种数据,我用 Impala 为我的查询,但它没有得到百分比。

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

这个代码给我的结果是:

  1. Cust Percentage Src_cust
  2. A 0 B
  3. A 0 C
  4. C 0 B

请帮帮我。谢谢您

7nbnzgx9

7nbnzgx91#

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

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

相关问题