标签: running-total

计算SQL Server中的运行总计

想象一下下表(称为TestTable):

id     somedate    somevalue
--     --------    ---------
45     01/Jan/09   3
23     08/Jan/09   5
12     02/Feb/09   0
77     14/Feb/09   7
39     20/Feb/09   34
33     02/Mar/09   6
Run Code Online (Sandbox Code Playgroud)

我想要一个以日期顺序返回运行总计的查询,例如:

id     somedate    somevalue  runningtotal
--     --------    ---------  ------------
45     01/Jan/09   3          3
23     08/Jan/09   5          8
12     02/Feb/09   0          8
77     14/Feb/09   7          15  
39     20/Feb/09   34         49
33     02/Mar/09   6          55
Run Code Online (Sandbox Code Playgroud)

我知道在SQL Server 2000/2005/2008中有各种方法可以做到这一点.

我对使用aggregate-set-statement技巧的这种方法特别感兴趣:

INSERT INTO @AnotherTbl(id, somedate, somevalue, runningtotal) 
   SELECT id, somedate, somevalue, null
   FROM TestTable
   ORDER …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server running-total

158
推荐指数
8
解决办法
23万
查看次数

在MySQL中创建累积和列

我有一个看起来像这样的表:

id   count
1    100
2    50
3    10
Run Code Online (Sandbox Code Playgroud)

我想添加一个名为cumulative_sum的新列,因此表格如下所示:

id   count  cumulative_sum
1    100    100
2    50     150
3    10     160
Run Code Online (Sandbox Code Playgroud)

是否有可以轻松完成此操作的MySQL更新语句?实现这一目标的最佳方法是什么?

mysql sql running-total

69
推荐指数
3
解决办法
10万
查看次数

计算运行总计/运行余额

我有一张桌子:

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万
查看次数

列出运行总计的理解

我想从一个数字列表中获得一个总计.

出于演示目的,我从使用的顺序数字列表开始 range

a = range(20)

runningTotal = []
for n in range(len(a)):
    new = runningTotal[n-1] + a[n] if n > 0 else a[n]
    runningTotal.append(new)

# This one is a syntax error
# runningTotal = [a[n] for n in range(len(a)) if n == 0 else runningTotal[n-1] + a[n]]

for i in zip(a, runningTotal):
    print "{0:>3}{1:>5}".format(*i)
Run Code Online (Sandbox Code Playgroud)

产量

  0    0
  1    1
  2    3
  3    6
  4   10
  5   15
  6   21
  7   28
  8   36
  9   45
 10   55
 11   66 …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension running-total

24
推荐指数
6
解决办法
3万
查看次数

Oracle SQL Analytic查询 - 递归电子表格式运行总计

我有以下数据,由AMM(按月)排序.

BGREATEST(current value of A + previous value of B, 0)以类似电子表格的方式计算.

如何B使用SQL查询进行计算?

我使用的是Oracle 10g,因此我无法使用递归查询.


这是我的测试数据:

MM         | A      | B
-----------+--------+------
2012-01-01 |    800 |  800
2012-02-01 |   1900 | 2700
2012-03-01 |   1750 | 4450
2012-04-01 | -20000 |    0
2012-05-01 |    900 |  900
2012-06-01 |   3900 | 4800
2012-07-01 |  -2600 | 2200
2012-08-01 |  -2600 |    0
2012-09-01 | …
Run Code Online (Sandbox Code Playgroud)

sql oracle running-total recursive-query analytic-functions

13
推荐指数
2
解决办法
1万
查看次数

在R中创建一个运行计数变量?

我有足球比赛结果的数据集,我希望通过创建一组类似于World Football Elo公式的运行评级来学习R. 我遇到麻烦,在Excel中似乎很简单的东西在R中并不完全直观.例如,4270个观察中的前15个带有必要的变量:

       date t.1  t.2 m.result
1  19960406  DC   SJ      0.0
2  19960413 COL   KC      0.0
3  19960413  NE   TB      0.0
4  19960413 CLB   DC      1.0
5  19960413 LAG NYRB      1.0
6  19960414 FCD   SJ      0.5
7  19960418 FCD   KC      1.0
8  19960420  NE NYRB      1.0
9  19960420  DC  LAG      0.0
10 19960420 CLB   TB      0.0
11 19960421 COL  FCD      1.0
12 19960421  SJ   KC      0.5
13 19960427 CLB NYRB      1.0
14 19960427  DC   NE      0.5
15 19960428 …
Run Code Online (Sandbox Code Playgroud)

r time-series running-total

13
推荐指数
2
解决办法
2535
查看次数

SQLite:SELECT语句中的accumulator(sum)列

我有一张像这样的桌子:

SELECT值FROM表;

value
1
3
13
1
5
Run Code Online (Sandbox Code Playgroud)

我想添加一个累加器列,以便我有这个结果:

value  accumulated
1      1
3      4
13     17
1      18
5      23
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我想做什么真正的名字是什么?谢谢

sql sqlite sum running-total accumulator

12
推荐指数
1
解决办法
2万
查看次数

按表中的分组记录运行总计

我有这样的表(Oracle,10)

Account     Bookdate     Amount
      1     20080101        100
      1     20080102        101
      2     20080102        200
      1     20080103       -200
...
Run Code Online (Sandbox Code Playgroud)

我需要的是按帐户asc和Bookdate asc按帐户顺序分组的新表格,其中包含一个正在运行的总字段,如下所示:

Account     Bookdate     Amount     Running_total
      1     20080101        100               100
      1     20080102        101               201
      1     20080103       -200                 1
      2     20080102        200               200
...
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

提前致谢.

sql oracle grouping sum running-total

10
推荐指数
3
解决办法
3万
查看次数

如何将每行SUM()转换为另一列

我有这张桌子

 | ID_prim    | ID (FKey)   | Date         | Moved Items  |
 |:-----------|:------------|-------------:|:------------:|
 | 1003       | 12_1        |    nov 2013  |    2         |
 | 1003       | 12_2        |    okt 2013  |    3         |
 | 1003       | 12_3        |    dec 2014  |    5         |
 | 1003       | 12_4        |    feb 2015  |    10        |
 | 1003       | 12_5        |    apr 2012  |    1         |
 | 1003       | 12_11       |    jan 2011  |    5         |
Run Code Online (Sandbox Code Playgroud)

我想查询同一个表如下:

  1. 通过desc订购日期
  2. 每行对每个'Moved Item'求和
  3. 如果Sum达到我想要的数量,则停止查询
  4. 我想要的金额从MAX'Summed Total'开始(26)并减去我想要的金额(16) …

sql oracle sum running-total

10
推荐指数
1
解决办法
1396
查看次数

根据其他列重置"运行总计"

我试图计算运行总数.但是当累计和大于另一列值时,它应该重置

create table #reset_runn_total
(
id int identity(1,1),
val int, 
reset_val int
)

insert into #reset_runn_total
values 
(1,10),
(8,12),(6,14),(5,10),(6,13),(3,11),(9,8),(10,12)
Run Code Online (Sandbox Code Playgroud)

样本数据

+----+-----+-----------+
| id | val | reset_val |
+----+-----+-----------+
|  1 |   1 |        10 |
|  2 |   8 |        12 |
|  3 |   6 |        14 |
|  4 |   5 |        10 |
|  5 |   6 |        13 |
|  6 |   3 |        11 |
|  7 |   9 |         8 |
|  8 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server running-total sql-server-2012

10
推荐指数
1
解决办法
380
查看次数