반응형
1. OFFSET FETCH 사용법
SELECT *
FROM [테이블명]
ORDER BY [정렬할 컬럼명] DESC
OFFSET [페이지 시작점] ROWS
FETCH NEXT [페이징 사이즈] ROWS ONLY
페이지 시작점이 만약 1 이다 하면 => 1을 건너뛰고 가져오겠다 (2부터 가져옴),
가져오고자 하는 행에서 - 1 을 하면 되겠죠!
페이징 사이즈가 만약 5 이다 하면 => 5개씩 가져오겠다.
2. OFFSET FETCH 사용예제
SELECT * FROM TEST_DB ORDER BY ID ASC
데이터를 행 1에서부터 5개 행 출력
SELECT *
FROM TEST_DB
ORDER BY ID ASC
OFFSET 0 ROWS
FETCH NEXT 5 ROWS ONLY
만약 행 6에서 부터 3개 행을 출력하겠다 하면
SELECT *
FROM TEST_DB
ORDER BY ID ASC
OFFSET 5 ROWS
FETCH NEXT 2 ROWS ONLY
3. 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
반응형
'MS SQL' 카테고리의 다른 글
MS SQL_PARTION사용법 (0) | 2022.08.02 |
---|---|
MS SQL_사용자 정의 함수 사용법 (0) | 2022.08.02 |
MS SQL_프로시저 사용법 (0) | 2022.08.01 |
MS SQL_페이징처리3/TOP()사용법 (0) | 2022.07.31 |
MS SQL_페이징처리2/ROW_NUMBER 사용법 (0) | 2022.07.31 |