在sql查询中累积几天的数据
我有两个表,第一个(T1)是一个基数,第一个是每个符号的基值:
symbol value
------------ -----
ABC 1000
DEF 2000
第二个表(T2)是每个日期的一系列值,即:
date symbol value
---------- ------ -----
2011-09-01 ABC 100
2011-09-02 ABC 10
2011-09-03 ABC 1
我需要什么查询才能获得累计总数在几天内将值列添加到第一列中的初始值。因此查询的输出看起来像这样
symbol date total
------ ---------- ------
ABC 2011-09-01 1100
ABC 2011-09-02 1110
ABC 2011-09-03 1111
,所以它是 T1 中的初始值的总和加上小于该列中的日期的所有日期的总和。
其目标数据库是 iSeries 上的 DB2
I have two tables, the first (T1) is a base number, the first is a base value per symbol:
symbol value
------------ -----
ABC 1000
DEF 2000
The second table (T2) s a series of values per date, i.e.:
date symbol value
---------- ------ -----
2011-09-01 ABC 100
2011-09-02 ABC 10
2011-09-03 ABC 1
What query would I require to get the accumulated total of the value column added to the initial value in the first column over the several days. So the output of the query would look something like
symbol date total
------ ---------- ------
ABC 2011-09-01 1100
ABC 2011-09-02 1110
ABC 2011-09-03 1111
So its the sum of the inital value in T1 plus the sum of all dates less than the date in that column.
The target database for this is DB2 on iSeries
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SQL 方法
An SQL approach
您必须使用 窗口函数:
编辑
适用于 PostgreSQL,根据 DB2 9.7 LUW 文档,它也应该适用于DB2。
You have to use window functions:
EDIT
Works on PostgreSQL, according to DB2 9.7 LUW docs it should work also on DB2.