DB (데이터베이스)/Oracle (오라클)

[Oracle] oracle 페이징 조회 top-n쿼리

뜽배 2024. 1. 29. 09:02
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
반응형