티스토리 뷰

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







반응형