有表名为 tab(有两列为id,val) 的数据如下:
 id     val
------------
 31     500
 42     320
 13     180
 54     60
 25     10
等等,要得到如下结果:
500     (1行)
820     (1行 + 2 行)
1000    (1行 + 2 行 + 3 行)
1060    (1行 + 2 行 + 3 行 + 4 行)
1070    (1行 + 2 行 + 3 行 + 4 行 + 5 行)SQL语句应该怎么写?

解决方案 »

  1.   

    idle>select sum(val) over(order by rowid) from testb ;SUM(VAL)OVER(ORDERBYROWID)
    --------------------------
                           500
                           820
                          1000
                          1060
                          1070
      

  2.   

    非常感谢xiaoxiao1984(笨猫儿) !!!   因为我表是不存在的,是一个sql语句生成的,所以用的rownum ,再次感谢!
      

  3.   

    谢谢 Eric_1999(╙@^@╜)  的关注! 呵呵.