티스토리 뷰

ORACLE

Analytic Function
=================================================================

RANK()
DENSE_RANK() 동일한 점수에 대해서 동일한 등수를 리턴하지 않고 1을 더함 (동일한 랭킹이 안나옴)
CUME_DIST()  비슷한 값을 가진 ROW수 / 전체 ROW수 (통계)
PERCENT_RANK() 뭔지 모르겠다. 나중 찾아봐 CUME_DIST와 비슷하다고 하는데...
NTILE() 이것도 모르겠음
ROW_NUMBER()

CURRENT ROW 현재 레코드
UNBOUNDED PRECEDING 파티션의 시작 레코드
UNBOUNDED FOLLOWING 파티션의 마지막 레코드

EX)

SELECT AA
     , BB
     , SUM(AMT) OVER (PARTITION BY AA ORDER BY BB RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS AMT 
  FROM TABLE_NAME;

금액을 더하는데 첫번째 레코드부터 누적해서 더함.

DATA
==================
AA  BB  AMT
--- --- ----------
A   1   10
A   2   30
B   3   20
B   4   60

위 결과는

AA  BB  AMT
--- --- ------
A   1   10
A   2   40
B   3   20
B   4   80

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday