想象一下下表(称为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) 我有一个看起来像这样的表:
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更新语句?实现这一目标的最佳方法是什么?
我有一张桌子:
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.我正在寻找一种最佳方法.我可以考虑使用函数或相关子查询,但不确定如何做到这一点.
我想从一个数字列表中获得一个总计.
出于演示目的,我从使用的顺序数字列表开始 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) 我有以下数据,由A值MM(按月)排序.
该B列GREATEST(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) 我有足球比赛结果的数据集,我希望通过创建一组类似于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) 我有一张像这样的桌子:
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)
我怎样才能做到这一点?我想做什么真正的名字是什么?谢谢
我有这样的表(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)
有一个简单的方法吗?
提前致谢.
我有这张桌子
| 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)
我想查询同一个表如下:
我试图计算运行总数.但是当累计和大于另一列值时,它应该重置
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) running-total ×10
sql ×7
oracle ×3
sql-server ×3
sum ×3
t-sql ×3
accumulator ×1
grouping ×1
mysql ×1
python ×1
r ×1
sqlite ×1
time-series ×1