日期:2014-05-17  浏览次数:21100 次

oracle 错行求和

TYP  RQ     SUM
 A   0.3    0.3
 B   0.2    0.5
 C   0.15   0.65
...


我有上面的结果集

我想求RQ的sum值

A 行SUM = A.RQ
B 行SUM = B.RQ+A.RQ
C 行SUM = A.RQ+B.RQ+C.RQ

有什么好方法么

------解决方案--------------------

--需要有一个排序字段,如果没有,可以使用rownum来构造
WITH t AS (
  select 'A' typ,   0.3  rq from dual union all
  select 'B' typ,   0.2  rq from dual union all
  select 'C' typ,   0.15 rq from dual)
SELECT typ, rq, SUM(rq) OVER(ORDER BY typ) SUM FROM t;