Impala - 从一张表计算百分比
Posted
技术标签:
【中文标题】Impala - 从一张表计算百分比【英文标题】:Impala - Calculate Percentage From One Table 【发布时间】:2018-12-04 03:17:38 【问题描述】:我有这种表,命名为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】:您需要在尝试中进行一些聚合。我认为正确的查询是:
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
【讨论】:
以上是关于Impala - 从一张表计算百分比的主要内容,如果未能解决你的问题,请参考以下文章