Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql server中的行求和_Sql_Sql Server - Fatal编程技术网

sql server中的行求和

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搜索这些术语中的任何一个,您将发现大量关于如何实现这一点

我的表格如下: 表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搜索这些术语中的任何一个,您将发现大量关于如何实现这一点的建议

以下是在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;