SQLD 2-2-5 TOP N 쿼리

김희영·2026년 1월 25일

SQLD

목록 보기
24/27

TOP N 쿼리

TOP N 쿼리

  • 전체 데이터에서 상위 N개 행 추출 (페이징)

TOP-N 행 추출 방법

ROWNUM

  • ROWNUM은 조회 결과가 만들어지는 과정에서 순서대로 부여되며, ORDER BY보다 먼저 적용
    • 출력 데이터 기준으로 행 번호 부여
    • 단, 가상 번호라 특정 행 지정 불가
      -> 즉, 서브 쿼리로 정렬하고 뽑아야 상위/하위 N개 추출 가능
  • > 연산 불가
    • SELECT ROWNUM, 열들 FROM 테이블 WHERE ROWNUM <=3;
      -> >= 를 써야 함. (근데 ROWNUM = 1은 됨. 이건 전체 데이터 반환과 같음)

RANK

  • 윈도우 함수의 RANK
  • 동일 값은 같은 순위, 그 다음 값은 건너 뜀
    (ex: 1,2,2,4...)

FETCH

  • 출력되는 행의 수 제한
  • OREDER BY 뒤에 사용
  • OFFSET N {ROW|ROWS}: 처음 N 개 건너 뛴 결과
  • FETCH {FIRST|NEXT} N {ROW|ROWS} ONLY
    • OFFSET으로 건너 뛰고 가져올 행 개수 지정
    • FIRST : OFFSET 어없을 때, 처음부터 가져오란 뜻
    • NEXT : OFFSET 있을 때, OFFSET 이후 N개 가져오란 뜻
    • ONLY : 결과 제한 의미 (필수)

TOP N

  • SQL SERVER에서 상위 N개 추출
  • WITH TIES 쓰면 동순위까지 추출 가능
profile
내는 반드시 개발자가 되고 말것어

0개의 댓글