반응형

OFFSET ROWS FETCH

SQL Server 2012부터 지원되는 OFFSET ROWS FETCH 문법을 활용하여 Paging을 처리해보자.

 

OFFSET ROWS FETCH 사용 방법

ORDER BY 컬럼
OFFSET {건너뛸 행의 숫자} ROW
FETCH NEXT {해당 숫자만큼 행 출력} ONLY

 

아래 학생 데이터를 나이로 정렬하여 3개씩 출력해보자

declare @page_no int = 1
declare @page_size int = 3

SELECT studentName, studentAge
FROM dbo.Student WITH (NOLOCK)
ORDER BY studentAge
OFFSET (@page_no-1) * @page_size ROW
FETCH NEXT @page_size ROW ONLY

[1Page 3개 출력]

set @page_no = 2
set @page_size = 3

SELECT studentName, studentAge
FROM dbo.Student WITH (NOLOCK)
ORDER BY studentAge
OFFSET (@page_no-1) * @page_size ROW
FETCH NEXT @page_size ROW ONLY

[2Page 3개 출력]

 

반응형

'DB > MSSQL' 카테고리의 다른 글

BETWEEN - AND  (0) 2020.11.03
UNPIVOT  (0) 2020.10.20
ALTER 문  (0) 2020.07.22
무결성 제약조건 CHECK  (0) 2020.07.12
문자열 char / varchar / nchar / nvarchar  (0) 2020.07.12

+ Recent posts