相关疑难解决方法(0)

计算运行总计/运行余额

我有一张桌子:

create table Transactions(Tid int,amt int)
Run Code Online (Sandbox Code Playgroud)

有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)
Run Code Online (Sandbox Code Playgroud)

期望的输出:

TID  amt  balance
--- ----- -------
1    100   100
2    -50    50
3    100   150
4   -100    50
5    200   250
Run Code Online (Sandbox Code Playgroud)

基本上对于第一记录余额将是相同的amt,第二个向前余额将是先前余额+当前的余额amt.我正在寻找一种最佳方法.我可以考虑使用函数或相关子查询,但不确定如何做到这一点.

t-sql sql-server running-total

54
推荐指数
2
解决办法
8万
查看次数

获取所有先前值的总和? - 到目前为止总计?

可能重复:
如何在不使用游标的情况下计算SQL中的运行总计?

这有点难以解释,所以我将通过一个例子展示我想要的东西:

可以说我们有以下表格命名MonthProfit:

[MonthId][Profit]
1, 10 -- January
2, 20 -- February
3, 30
4, 40
5, 50
6, 60
7, 70
8, 80
9, 90
10, 100
11, 110
12, 120 -- December
Run Code Online (Sandbox Code Playgroud)

profit表示该月的利润.

但是,如果我们1月份有10个利润,2月份有20个,那么2月份我们的利润总额为30.

所以我想创建一个显示以下内容的视图:

[MonthId][Profit][ProfitTotal]
1, 10, 10 -- January
2, 20, 30 -- February
3, 30, 60
4, 40, 100
5, 50, 150
6, 60, 210
7, 70, 280
8, 80, 360
9, 90, 450
10, 100, 550
11, 110, 660 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql recursion

7
推荐指数
1
解决办法
1733
查看次数

如何在单独的列中添加值作为累积值?

COL COL1    COL2    SUM cumm
1   2   3   6    6
4   5   6   15   21 
7   8   9   24   45
Run Code Online (Sandbox Code Playgroud)

在上面的表结果集中我需要像这样的cumm列值,如何使用查询执行此操作,有人可以帮忙吗?

sql-server-2008

5
推荐指数
1
解决办法
151
查看次数