计算SQL中值的百分比分割

时间:2013-05-28 09:36:31

标签: sql sql-server tsql sql-server-2005 stored-procedures

我正在努力找到一种方法来在SQL中的某些返回值之间进行百分比分割。

enter image description here

例如,使用上述值,我需要先将它们加在一起得到一个总数,然后找出每个总数的百分比。

我从我创建的临时表中提取这些值,名为#Temp1

该脚本应与SQL Server 2005兼容

我一直在网上搜索,找不到任何适合这种情况的东西。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是最新版本的SQL Server,则可以使用over子句:

select  AssetValue
,       100.0 * AssetValue / sum(AssetValue) over () as Percentage
from    #Temp1

对于旧版本的SQL Server:

select  AssetValue
,       100.0 * AssetValue / 
        (
        select  sum(AssetValue)
        from    #Temp1
        ) as Percentage
from    #Temp1

Example for both at SQL Fiddle.