SQL根据同一个表中的行计算累计总计

时间:2018-02-02 16:53:30

标签: sql

我正在尝试计算表格中每行的字段的累计总数。

考虑一下公共汽车上的一些乘客,我知道有多少人上车&在每个站点关闭,但我需要在总线上添加负载,到达每个站点。

我已经得到了一个可以计算每次停止时负载如何变化的字段,但是如何从停止之前获得负载呢?请注意,同一张表中有多个行程,因此对于新行程中的停止1,负载将为零。

我已经尝试过搜索,但是对此我不熟悉,我甚至不确定我应该寻找什么以及我得到的结果我甚至不确定是否相关!

SELECT [Tripnumber], [Stop], Sum([Boarders] - [Alighters]) AS LoadChange
FROM table 
Group By [Tripnumber], [Stop], [Boarders], [Alighters]
Order By [Tripnumber], [Stop]

1 个答案:

答案 0 :(得分:0)

您可以使用窗口功能:

SELECT [Tripnumber], [Stop],
       Sum([Boarders] - [Alighters]) OVER (PARTITION BY tripnumber ORDER BY Stop) As LoadChange
FROM table;

我不认为GROUP BY是必要的。