Database/Oracle
[오라클] 그룹의 누적 곱
데브포유
2012. 11. 1. 14:52
반응형
그룹의 누적 합계는 분석함수 또는 집합의 복제를 통해서 쉽게 구현할 수 있습니다.
반면에 그룹의 누적 곱셈은 조금 까다로운데요.
로그값의 합은 로그 지수의 값의 곱이라는 원리를 사용하면 구현할 수 있습니다.
log2 + log3 = log6
사용되는 함수
LN(n) : LN함수는 주어진 값의 자연로그 값을 반환합니다.
SUM(n) : 그룹의 누적 합계 반환
EXP(n) : EXP함수는 주어진 값의 e의 승수를 나타냅니다.
ex) 분석함수를 이용해서 예제를 만들어 보았습니다.
SELECT no
,EXP( SUM(LN(no)) over (ORDER BY no ) ) mutiply
FROM
(
SELECT LEVEL no
FROM dual
CONNECT BY LEVEL <= 5
)
;
==> 결과
NO MUTIPLY
1 1
2 2
3 6
4 24
5 120
반응형