sql server中的行求和
我的表格如下: 表1 我希望输出如下: 输出:sql server中的行求和,sql,sql-server,Sql,Sql Server,我的表格如下: 表1 我希望输出如下: 输出: 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 这也被称为运行总数或累积总数。如果您结合SQL搜索这些术语中的任何一个,您将发现大量关于如何实现这一点
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
这也被称为运行总数或累积总数。如果您结合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
你的谈话是累积的
SELECT Table1.Col1, Table1.Col2, Table1.Col3, (SELECT SUM(Col3)
FROM Table1
WHERE Col1 <= Table1.Col1)
FROM Table1
ORDER BY Table1.Col1;
请澄清你想要什么,仅仅发布一个例子是不够的。他想把前面的Col3加起来,加到总数中。有没有自动递增的id?如果是这样,您可以获取上一行的总和,并将其与当前行相加。请详细说明问题problem@Tim谢谢你的链接。我正在寻找解决方案。你应该在声明结尾按Col1排序。@ThorstenKettner-谢谢你的建议。
SELECT Table1.Col1, Table1.Col2, Table1.Col3, (SELECT SUM(Col3)
FROM Table1
WHERE Col1 <= Table1.Col1)
FROM Table1
ORDER BY Table1.Col1;