티스토리 뷰
RANK() OVER ()
EX) A-90점 , B-90점 C-80점 인 1등이 2명인 동일 순위인 경우 순위는 1,1,3 1등이 2명되고 3번째애가 3등으로 표시
즉, A=1등 B=1등 C=3등
ROW_NUMBER() OVER () : 제일 중요
EX) A-90점 , B-90점 C-80점 인 1등이 2명인 동일 순위인 경우 순위는 1,2,3
즉, A=1등 B=2등 C=3등
A와 B가 점수가 같지만 A가 1등인 이유는 데이터를 뽑아낼때 A의 행이 더 빨리오기때문(즉,정렬방식에따라 등수가 바뀜)
즉,함수이름처럼 ROW_NUMBER.. ROW(행)의 순위에 따라 그냥 번호를 매김.
동일 순위인 경우 1,2,3
DENSE_RANK() OVER ()
중복 RANK의 수와 무관하게 numbering을 한다.
EX) A-90점 , B-90점 C-80점 인 1등이 2명인 동일 순위인 경우 순위는 1,1,2 1등이 2명되고 3번째애가 2등으로 표시
즉, A=1등 B=1등 C=2등
'MODEL > ORACLE' 카테고리의 다른 글
[ORACLE] PL/SQL (0) | 2017.11.18 |
---|---|
[ORACLE] window 함수(PARTITION BY,ROWS) (0) | 2017.11.18 |
[ORACLE] 분석함수(LEAD,LAG,GREATEST,LEAST) (0) | 2017.11.16 |
[ORACLE] dump 파일 import & export (2) | 2017.11.16 |
[ORACLE] 오라클 예제 문제 (0) | 2017.11.16 |
댓글