Oracle11g 行与行之间的进位值

Oracle11g 行与行之间的进位值,oracle11g,connect-by,Oracle11g,Connect By,我有一张像这样的桌子: ID MONTH VALUE 1 06/2014 3 1 07/2014 -2 1 08/2014 1 2 03/2014 1 2 04/2014 -1 (...) 我想要的是创建一个新列,该列按层次对值求和,如: ID MONTH VALUE BALANCE 1 06/2014 3 3 <-- 3 + "0" (no pre

我有一张像这样的桌子:

ID    MONTH     VALUE
1     06/2014    3
1     07/2014   -2
1     08/2014    1
2     03/2014    1
2     04/2014   -1
(...)
我想要的是创建一个新列,该列按层次对值求和,如:

ID    MONTH     VALUE    BALANCE
1     06/2014    3        3      <--  3 + "0" (no previous)
1     07/2014   -2        1      <-- -2 + 3   (previous balance plus current value)
1     08/2014    1        2      <--  1 + 1   (previous balance plus current value)
2     03/2014    1        1      <--  (...)
2     04/2014   -1
(...)
ID月值余额

1 06/2014 3 3分析函数
求和(…)于(…)
是完美的候选者:

create table tq84_t (
  id    number,
  month date,
  value number
);

insert into tq84_t values (1, date '2014-06-01',  3);
insert into tq84_t values (1, date '2014-07-01', -2);
insert into tq84_t values (1, date '2014-08-01', -1);

insert into tq84_t values (2, date '2014-03-01',  1);
insert into tq84_t values (2, date '2014-04-01', -1);


select
  id,
  month,
  value,
  sum(value) over (partition by id order by month) balance
from
  tq84_t;