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有什么好方法么

解决方案 »

  1.   


    --需要有一个排序字段,如果没有,可以使用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;
      

  2.   

    SELECT TYPE,RQ,SUM()OVER(ORDERBY TYPE)SUM FROM TABLE_NAME
      

  3.   


    WITH TEST01(TYP, RQ) AS (
    SELECT 'A','0.3' FROM DUAL
    UNION ALL
    SELECT 'B','0.2' FROM DUAL
    UNION ALL
    SELECT 'C','0.15' FROM DUAL
    )select typ, rq, sum(rq) over (order by typ) from test01;