我有一张表如下。我想计算每一行的百分比。查看输出。我觉得sum over()
可能会有帮助,但我不确定它是如何运作的。
输入
PK col1 col2
-------------
1 1 4
2 5 10
输出
PK col1 col2
---------------
1 0.2 0.8
2 0.33 0.67
答案 0 :(得分:3)
只需总结价值并加分。
select pk,1.0*col1/(col1+col2),1.0*col2/(col1+col2)
from tablename
答案 1 :(得分:2)
sum() over()
适用于各行,您在同一行上工作的内容。相反,你会使用这样的东西:
select
pk
, col1 = (col1+.0)/(col1+col2)
, col2 = (col2+.0)/(col1+col2)
from t