У меня есть стол:
create table Transactions(Tid int,amt int)
С 5 рядами:
insert into Transactions values(1, 100)
insert into Transactions values(2, -50)
insert into Transactions values(3, 100)
insert into Transactions values(4, -100)
insert into Transactions values(5, 200)
Желаемый выход:
TID amt balance
--- ----- -------
1 100 100
2 -50 50
3 100 150
4 -100 50
5 200 250
В основном для первой записи баланс будет таким же, как amt
, 2-й и далее баланс будет добавлением предыдущего баланса + текущего баланса amt
. Я ищу оптимальный подход. Я мог подумать об использовании функции или коррелированного подзапроса, но точно не знал, как это сделать.