如何获得累计总和
declare @t table (
id int,
SomeNumt int
)
insert into @t
select 1,10
union
select 2,12
union
select 3,3
union
select 4,15
union
select 5,23
select * from @t
上述选择返回我以下。
id SomeNumt1 10
2 12
3 3
4 15
5 23
我如何得到如下:
id srome CumSrome1 10 10
2 12 22
3 3 25
4 15 40
5 23 63
回答:
select t1.id, t1.SomeNumt, SUM(t2.SomeNumt) as sumfrom @t t1
inner join @t t2 on t1.id >= t2.id
group by t1.id, t1.SomeNumt
order by t1.id
| ID | SOMENUMT | SUM |-----------------------
| 1 | 10 | 10 |
| 2 | 12 | 22 |
| 3 | 3 | 25 |
| 4 | 15 | 40 |
| 5 | 23 | 63 |
这是一个适用于大多数数据库平台的通用解决方案。如果有更好的解决方案可用于您的特定平台(例如,gareth’s),请使用它!
以上是 如何获得累计总和 的全部内容, 来源链接: utcz.com/qa/415940.html