【问题标题】:Work out percentage split of values in SQL在 SQL 中计算值的百分比拆分
【发布时间】:2013-05-23 05:23:40
【问题描述】:

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

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

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

脚本应该与 SQL Server 2005 兼容

我一直在互联网上搜索,找不到适合这种特殊情况的任何内容。

谢谢!

【问题讨论】:

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


    【解决方案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.

    【讨论】:

    • 非常感谢,很棒的解决方案
    猜你喜欢
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多