当前位置: 代码迷 >> Oracle认证考试 >> 按月累加有关问题
  详细解决方案

按月累加有关问题

热度:5952   发布时间:2013-02-26 00:00:00.0
按月累加问题
我想要的结果就是不同的Depart_id,一天一天按月累加,当然一下数据只是我原表很小的一部分而已,望高手指点

我现在的表如下,表名为 :a 

Depart_id time 容量
杭州 2011-07-28 1
杭州 2011-07-29 1
杭州 2011-08-01 22
杭州 2011-08-02 22
丽水 2011-08-01 333
丽水 2011-08-02 333

我要的结果是
Depart_id time 容量 月累计容量
杭州 2011-07-28 1 1
杭州 2011-07-29 1 2
杭州 2011-07-30 0 2
杭州 2011-07-31 0 2
杭州 2011-08-01 22 22
杭州 2011-08-02 22 44
丽水 2011-07-28 0 0
丽水 2011-07-29 0 0
丽水 2011-07-30 0 0
丽水 2011-07-31 0 0
丽水 2011-08-01 333 333
丽水 2011-08-02 333 666


------解决方案--------------------------------------------------------
select Depart_id, 
time, 
容量,
sum(容量) over(partition by Depart_id,trunc(time,'mm') order by time) 月累计容量
from a
------解决方案--------------------------------------------------------
同理,增加一段代码就可以了
SQL code
select Depart_id, time, 容量,sum(容量) over(partition by Depart_id,trunc(time,'mm') order by time) 月累计容量 ,------------------------台数,sum(容量) over(partition by Depart_id,trunc(time,'mm') order by time) 月累计台数  ------------------------from a
  相关解决方案