关闭

Oracle逐行相加

157人阅读 评论(0) 收藏 举报
分类:

  有时候有这种需求,查出来的结果集要逐行相加。

create table t 

(
  id  number,
  value number
);
insert into t values(1,10);
insert into t values(2,10);
insert into t values(3,20);
insert into t values(4,20);
insert into t values(5,30);
insert into t values(6,30);
commit;
SQL> select * from t;
        ID      VALUE
---------- ----------
         1         10
         2         10
         3         20
         4         20
         5         30
         6         30
SQL> select id,value,sum(value)over(order by id asc
      rows between unbounded preceding and current row) s_value
    from t;
        ID      VALUE    S_VALUE
---------- ---------- ----------
         1         10         10
         2         10         20
         3         20         40
         4         20         60
         5         30         90
         6         30        120
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:885014次
    • 积分:15226
    • 等级:
    • 排名:第731名
    • 原创:640篇
    • 转载:108篇
    • 译文:4篇
    • 评论:56条
    最新评论