从字段SQL的SUM计算

时间:2018-03-08 06:59:41

标签: sql sql-server-2012

我有下表:

Item       tTotal
------------------
A          20
B          10
C          5

我想要一个带有新列的tsql,例如:

Item       tTotal      oPercent
--------------------------------
A          20          57.14
B          10          28.58
C          5           13.3

oPercent字段计算为:

([tTotal] / [SUM(tTotal)]) * 100

有没有人对此有所了解?
非常感谢。

谢谢。

3 个答案:

答案 0 :(得分:1)

使用分析函数,我们可以在没有正式子查询的情况下对表进行一次传递:

SELECT
    Item,
    tTotal,
    100.0 * tTotal / SUM(tTotal) OVER () AS oPercent
FROM yourTable;

Demo

答案 1 :(得分:0)

您使用以下查询

DECLARE @TSum INT=0

SELECT @TSum=SUM(tTotal) FROM tablename

SELECT Item,tTotal,((tTotal / @TSum) * 100) AS oPercent FROM tablename

答案 2 :(得分:0)

您也可以使用Function not implemented,因为它只会产生一行

CROSS JOIN