728x90
반응형
Oracle분석함수 TOP-N분석은 전체 컬뤔 값 중에서 큰 값이나 작은 값 순으로 상위 N개를 출력하는 기능이다.
TOP-N기능을 사용하기 위해서는 반드시 '서브쿼리', '인라인 뷰'를 반드시 이용해야한다.
그리고 서브쿼리나 인라인뷰의 결과에 대해 WHERE절에서 ROWNUM을 사용하여 출력하야 한다.
주의할 점은 ROWNUM과 상수 N의 비교 연산자는 반드시 '<' or '<=' 만 사용할 수 있다.
1. TOP-N쿼리 format
SELECT [column_list], ROWNUM
FROM ( SELECT [column_list]
FROM table
ORDER BY <TOP-N_column>)
WHERE ROWNUM <= N;
2. 예시 쿼리
select
studno,
name,
height,
rank_value
from (select
studno,
name,
heigth,
RANK() over (order by heigth DESC) as rank_value
from student)
where rank_value <= 3;
3. 결과
출처 : 오라클 중심의 SQL배움터 (책)
728x90
반응형
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[Oracle] Oracle NTILE분석 함수 (0) | 2024.01.29 |
---|---|
[Oracle] oracle RANK()함수, DENSE_RANK()함수 (0) | 2024.01.29 |
[Oracle] 윈도우(Windows)에 설치된 Oracle 제거 방법 (0) | 2024.01.29 |
[Oracle] oracle RAC인지 RAC아닌지 확인 (2) | 2024.01.19 |
[Oracle] oracle log switch 횟수 조회 (0) | 2024.01.19 |