原来的表结构:月份 num
200701 1
200702 2
200812 12现在想增加一列allnum,变成:
月份 num allnum
200701 1 12
200702 2 13
200812 12 50allnum是往前推12个月到这个月的累计值,不知道语句怎么写?
200701 1
200702 2
200812 12现在想增加一列allnum,变成:
月份 num allnum
200701 1 12
200702 2 13
200812 12 50allnum是往前推12个月到这个月的累计值,不知道语句怎么写?
解决方案 »
- C#查询oracle出现 ora-0091 求救
- ORA -00600 [kcblasm_1],[103]
- 怎么用DOS命令启用监听器?
- oracle维护
- 先祝大家新年快乐!再来一个小问题!
- I can not not find oracle8i or 9i version for Solaris unix version based on intel chip.
- 动态数组怎么定义?
- 关于case when(oracle)
- 高分求救oracle在Linux 或者unix下能正确显示中文的 表名和 字段名吗
- HAS JOIN 解釋的問題:
- 数据库高手请进来看看啊,关于存储过程问题
- 企业级应用::oracle 主从数据库技术已经到了什么程度??
200701 1 12
这个12怎么算出来?
假设你要显示出200701-200812的数据,则取的数据要从200601-200812
最后显示是200701-200812的数据,即200601-200612的数据不显示,否则的话200701-200712的值都是不准的
select aa.*
from
(
select a.month,a.num ,
sum(a.num) over ( order by a.month rows between 12 PRECEDING AND 0 FOLLOWING) allnum
from table a
where a.month >='200601'
and a.month<='200812') aa
where aa.month>='200701'