计算SQL Server中每行的百分比

时间:2017-04-26 20:47:45

标签: sql sql-server sql-server-2008

我有一张表如下。我想计算每一行的百分比。查看输出。我觉得sum over()可能会有帮助,但我不确定它是如何运作的。

输入

PK col1 col2
-------------
1   1   4
2   5   10

输出

PK col1 col2
---------------
1   0.2  0.8
2   0.33 0.67

2 个答案:

答案 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