Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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 Server 2014基于以前记录的总和_Sql Server_Tsql_Sql Server 2014 - Fatal编程技术网

Sql server SQL Server 2014基于以前记录的总和

Sql server SQL Server 2014基于以前记录的总和,sql-server,tsql,sql-server-2014,Sql Server,Tsql,Sql Server 2014,我有以下三个专栏。Col3第一个值始终为0。之后的值总是前一条记录的col2+col3之和 col1 col2 col3 1 6.48 0 2 1.95 3 1.66 4 .84 5 .56 6 1.24 因此,最终值如下所示: col1 col2 col3 1 6.48 0 2 1.95 6.48 3 1.66 8.43 4 .84 10.09

我有以下三个专栏。Col3第一个值始终为0。之后的值总是前一条记录的col2+col3之和

col1  col2   col3
1     6.48   0
2     1.95
3     1.66
4     .84
5     .56
6     1.24
因此,最终值如下所示:

col1  col2     col3
   1     6.48    0
   2     1.95    6.48
   3     1.66    8.43
   4     .84    10.09
   5     .56    10.93
   6     1.24   11.49

有人知道在SQL Server中不使用光标是否可以执行此操作吗?

您可以使用windowed
SUM
并减去当前值:

SELECT *, SUM(col2) OVER(ORDER BY col1)-col2 AS col3
FROM tab;

完美!谢谢你!!