我有疑问:
select my_year,my_month, L2, PAR1, PAR2, PAR3, Value from table1
现在我想计算每一行的百分比。首先,我需要添加值(20 + 30 + 40 + 50 + 60 + 70 + 80),然后将每行除以总和。 结果应该是:
我可以选择一个吗?或者我应该在第二个查询中计算总和然后加入?
答案 0 :(得分:2)
您可以使用窗口功能。对于您提供的数据:
select my_year, my_month, L2, PAR1, PAR2, PAR3, Value,
Value * 100.0 / SUM(Value) OVER () as percent
from table1;
答案 1 :(得分:0)
这可以在单个查询中实现,如下所示:
select
my_year,
my_month,
L2,
PAR1,
PAR2,
PAR3,
Value,
(100.0 * Value) / SUM(Value) OVER ()
from
table1