[PLSQL] 로우단위의 누적합 구하기
ORACLE |
2009. 10. 24. 21:08
- sum(대상열) over (partition by 그룹1, 그룹2 order by 누적순서)
- "누적순서"의 순서로 "대상열"을 순차적으로 합한 값을 표현
- partition by 를 넣는것으로 그룹단위의 누적합을 구할 수 있다..
예제 sql)
select CA1, CA2, sum(CLM1) over (partition by CA1, CA2 order by CLM2)
from (
select 1 CLM1, 1 CLM2, 'A' CA1, 'B' CA2 from dual;
union all
select 1 CLM1, 2 CLM2, 'A' CA1, 'B' CA2 from dual;
union all
select 1 CLM1, 3 CLM2, 'A' CA1, 'C' CA2 from dual;
union all
select 1 CLM1, 4 CLM2, 'A' CA1, 'C' CA2 from dual;
union all
select 1 CLM1, 5 CLM2, 'A' CA1, 'C' CA2 from dual;
)
->
1: A B 1
2: A B 2
3: A C 1
4: A C 2
5: A C 3