본문 바로가기
CS/데이터베이스

[Oracle] 출력 행 제한 (Simpe TOP-n Queries)

by 김크롱 2020. 9. 11.

출력 행 제한 (Simpe TOP-n Queries)

: 출력 데이터 건수 제한

 

기본형

ROW 개수

SELECT column1, column2, column3, column4
    FROM tablename
    ORDER BY column4 DESC FETCH FIRST 10 ROWS ONLY;

: column1, column2, column3, column4를 출력하되 column4를 기준으로 내림차순 정렬하고 위쪽 10개 행으로 제한해 출력

 

PERCENT

SELECT column1, column2, column3, column4
    FROM tablename
    ORDER BY column4 DESC
    FETCH FIRST 10 PERCENT ROWS ONLY;

: column4를 기준으로 내림차순 정렬하고 상위 10%에 해당하는 경우만 출력

 

 

 

옵션

WITH TIES 옵션

- N번째 행의 값과 동일(중복)하다면 함께 출력

SELECT column1, column2, column3, column4
    FROM tablename
    ORDER BY column4 DESC FETCH FIRST 3 ROWS WITH TIES;

: 중복 값이 있다면 3개 이상이 출력될 수 있음.

 

 

OFFSET 옵션

- 출력 시작 행의 위치를 지정. N+1번째 행부터 출력

SELECT column1, column2, column3, column4
    FROM tablename
    ORDER BY column4, DESC OFFSET 10 ROWS;

: 11번째 행부터 출력

 

 

 

OFFSET + FETCH

SELECT column1, column2, column3, column4
    FROM tablename
    ORDER BY column4 DESC OFFSET 10 ROWS
    FETCH FIRST 3 ROWS ONLY;

: column4를 내림차순 정렬하고 11번째 행부터 상위 3개 행만 출력