我有一张表如下: 表1
Col1 Col2 Col3
1 A 10
2 B 20
3 C 30
4 D 40
5 E 50
我想要输出如下:
输出:
Col1 Col2 Col3 Row-Wise-Sum
1 A 10 10
2 B 20 30
3 C 30 60
4 D 40 100
5 E 50 150
答案 0 :(得分:1)
这也被称为"运行总数"或"累积金额"。如果您在" SQL"中搜索任何这些术语。你会发现很多关于如何做到这一点的建议。
这是一个使用SQL Server 2012或更新版本中的窗口函数的答案:
SELECT Col1, Col2, Col3,
SUM(Col3) OVER (ORDER BY Col1 ROWS UNBOUNDED PRECEDING) AS [Row-Wise-Sum]
FROM
MyTable
ORDER BY Col1
答案 1 :(得分:1)
你说的累计总数
SELECT Table1.Col1, Table1.Col2, Table1.Col3, (SELECT SUM(Col3)
FROM Table1
WHERE Col1 <= Table1.Col1)
FROM Table1
ORDER BY Table1.Col1;