[MS-SQL]페이징 처리1. OFFSET FETCH

진지니·2022년 7월 14일
0

MS SQL

목록 보기
2/4
post-thumbnail

OFFSET FETCH 행 나누기 / 페이징

✅OFFSET FETCH 사용법

SELECT *
FROM [테이블명]
ORDER BY [정렬할 컬럼명] DESC
OFFSET N1 ROWS
FETCH NEXT N2 ROWS ONLY

OFFSET : 페이지 시작점 / N1 를 건너뛰고

FETCH : 페이징 사이즈 / N2 개씩 가져오기


✅OFFSET FETCH 사용예제

SELECT *
FROM TEST_DB
ORDER BY ID ASC

데이터를 0에서 부터 5개 행 출력

SELECT * 
  FROM TEST_DB
 ORDER BY ID ASC
OFFSET 0 ROWS
 FETCH NEXT 5 ROWS ONLY

✅OFFSET FETCH 프로시저 만들기

CREATE PROCEDURE [dbo].[SP_PAGING1]
 @PAGE_NO INT         -- 페이지 번호
,@PAGE_SIZE INT		  -- 페이지 사이즈
AS
BEGIN
SET NOCOUNT ON
    SELECT *
      FROM TEST_DB
     ORDER BY ID ASC
    OFFSET (@PAGE_NO-1) * @PAGE_SIZE ROWS  -- 이전 페이지 행 이후 데이터를 가져오기 위해						
     FETCH NEXT @PAGE_SIZE ROW ONLY

SET NOCOUNT OFF
END

두번째 페이지 5개 행 출력하기

EXEC [SP_PAGING3] @PAGE_NO = 2, @PAGE_SIZE = 5
profile
초보 개발자의 정면돌파

0개의 댓글