有一张表TEST,3个列日期, 号码,当日资金额
2011-01-01 123 100
2011-01-02 123 50
2011-01-03 123 200
2011-01-04 123 150想实现下面的结果,(累计就是从最早1-1号的数据累加得到)
能取出一段时间内的数据,日期>='开始日期' and 日期<='结束日期'日期, 号码,当日资金额,累计资金额
2011-01-03 123 200 350
2011-01-04 123 150 500
2011-01-01 123 100
2011-01-02 123 50
2011-01-03 123 200
2011-01-04 123 150想实现下面的结果,(累计就是从最早1-1号的数据累加得到)
能取出一段时间内的数据,日期>='开始日期' and 日期<='结束日期'日期, 号码,当日资金额,累计资金额
2011-01-03 123 200 350
2011-01-04 123 150 500
解决方案 »
- 请问如何使用Ora9导入Ora10备份的数据
- 新手求助!谢谢!
- 一个字段是rowid数据类型,执行插入时如何给它指定值
- 求助字符串截取sql?
- 请问如果创建当天日期内的连续序列?
- 小弟无法安装oracle9i,请大家帮我想想!!!!
- 急!!!怎样使用exp、imp来备份和导入表中数据(200分相送)在线等
- oracle怎样在触发器中取得应用程序名?
- 为何我的8i+win2000服务一旦停止然后再起就连不上了?
- 求一个SQL
- 创建数据库时,模板选择“一般用途或事务处理”与“数据仓库”有何不同?
- plsql developer中 查看索引窗口中索引的type是normal和unique有什么区别?
, seq
, SUM(SUM(bankroll)) over (ORDER BY seq ROWS UNBOUNDED PRECEDING)FROM test
GROUP BY datetime, seq
SQL> with t as(
2 select '2011-01-01' dt,123 nm,100 curr_money from dual union all
3 select '2011-01-02',123,50 from dual union all
4 select '2011-01-03',123,200 from dual union all
5 select '2011-01-04',123,150 from dual)
6 select * from (
7 select dt,nm,curr_money,
8 sum(curr_money) over (order by dt rows unbounded preceding) cum_money
9 from t)
10 where dt>='2011-01-03' and dt<='2011-01-04'
11 /
DT NM CURR_MONEY CUM_MONEY
---------- ---------- ---------- ----------
2011-01-03 123 200 350
2011-01-04 123 150 500
where dt >= to_date('2011-01-03','yyyy-mm-dd')
and dt <= to_date('2011-01-04','yyyy-mm-dd')