SQL Server中记录子组的运行求和

SQL Server中记录子组的运行求和,sql,sql-server,sql-server-2014,Sql,Sql Server,Sql Server 2014,我需要计算表中数据组的运行总数(在SQL Server 2014中)。请参见下面的示例。我需要计算RunningTotalByID列 如有任何想法/想法,将不胜感激 谢谢 SQL Server 2014支持(SUM())OVER(按…顺序划分…),它计算运行总和: DECLARE @T TABLE (ID char(1), Value int); INSERT INTO @T (ID, Value) VALUES ('A', 1), ('A', 1), ('B', 1), ('B', 1),

我需要计算表中数据组的运行总数(在SQL Server 2014中)。请参见下面的示例。我需要计算
RunningTotalByID

如有任何想法/想法,将不胜感激


谢谢

SQL Server 2014支持(
SUM())OVER(按…顺序划分…
),它计算运行总和:

DECLARE @T TABLE (ID char(1), Value int);

INSERT INTO @T (ID, Value) VALUES
('A', 1),
('A', 1),
('B', 1),
('B', 1),
('B', 1),
('C', 1),
('C', 1);

SELECT
    ID
    ,Value
    ,SUM(Value) OVER (PARTITION BY ID ORDER BY Value 
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS RunningTotal
FROM @T
ORDER BY ID, RunningTotal;
结果

+----+-------+--------------+
| ID | Value | RunningTotal |
+----+-------+--------------+
| A  |     1 |            1 |
| A  |     1 |            2 |
| B  |     1 |            1 |
| B  |     1 |            2 |
| B  |     1 |            3 |
| C  |     1 |            1 |
| C  |     1 |            2 |
+----+-------+--------------+

在你的问题中直接插入图片,这将帮助人们更快地理解你的问题。