我有一个包含两个列的表,如下所示
ID SAL
1 1000
2 2000
3 3000
4 4000
5 5000
ID SAL
1 1000
2 3000
3 6000
4 10000
5 15000
* / 如何在不使用案例陈述的情况下实现这一目标?
答案 0 :(得分:0)
SELECT ID, SUM(SAL) OVER(ORDER BY ID) AS SAL
FROM YourTable;
这称为运行总和,适用于SQL Server 2012+
回复的一个例子:
DECLARE @Test TABLE (ID INT, SAL INT);
INSERT INTO @Test
(ID, SAL)
VALUES
(1, 1000)
, (2, 2000)
, (3, 3000)
, (4, 4000)
, (5, 5000);
SELECT ID, SUM(SAL) OVER (ORDER BY ID) AS SAL
FROM @Test
导致:
ID SAL
----------
1 1000
2 3000
3 6000
4 10000
5 15000