Sql 获取以前的值+;作为列的新值?

Sql 获取以前的值+;作为列的新值?,sql,sql-server,Sql,Sql Server,假设我有这个: select money from somewhere 我现在想要另一个名为AccumeratedMoney的列,它将是=上一行的AccumeratedMoney+当前行的money 例: 我能做些什么来实现这一点? 谢谢在任何数据库中,您都可以通过相关子查询执行此操作: select t.am, t.m, (select sum(tprev.m) from t tprev where tprev.am <= t.am) as cumsum from t

假设我有这个:

select money from somewhere
我现在想要另一个名为AccumeratedMoney的列,它将是=上一行的AccumeratedMoney+当前行的money 例:

我能做些什么来实现这一点?
谢谢

在任何数据库中,您都可以通过相关子查询执行此操作:

select t.am, t.m,
       (select sum(tprev.m) from t tprev where tprev.am <= t.am) as cumsum
from t
(SQL Server 2012和Oracle支持此功能。)

select t.am, t.m,
       (select sum(tprev.m) from t tprev where tprev.am <= t.am) as cumsum
from t
select t.am, t.m, sum(tprev.m) as cumsum
from t join
     t tprev
     on tprev.am <= t.am
group by t.am, t.m
select t.am, t.m,
       sum(t.m) over (order by t.am) as cumsum
from t