본문 바로가기

페이징처리3

MS SQL_페이징처리3/TOP()사용법 1. TOP() 기본 사용법 SELECT TOP(가져올 행의 수) 컬럼명 FROM 테이블명 TOP(N) 컬럼명 => 컬럼명을 기준으로 N개 출력 2. TOP() 기본 사용예제 SELECT TOP(5)ID,CONTENTS FROM TEST_DB WHERE ID > 0 ORDER BY ID ASC 3. TOP() 사용하여 프로시저 만들기 CREATE PROCEDURE [dbo].[SP_PAGING3] @PAGE_NO INT ,@PAGE_SIZE INT AS BEGIN SET NOCOUNT ON SELECT TOP(@PAGE_SIZE)* FROM TEST_DB WHERE ID NOT IN( --이전 페이지의 행들을 제외하고 바로 그 다음 행부터 SELECT TOP ((@PAGE_NO-1)*@PAGE_SIZE).. 2022. 7. 31.
MS SQL_페이징처리2/ROW_NUMBER 사용법 1. ROW_NUMBER 기본 사용법 SELECT ROW_NUMBER()OVER(ORDER BY [정렬할 컬럼명] ASC | DESC ) AS 지정할 컬럼명 FROM [테이블명] ORDER BY [정렬할 컬럼명] -- 생략 가능 ROW_NUMBER를 사용하면 임의로 조회 순번을 매겨준다. 2. ROW_NUMBER 사용예제 --왼쪽 SELECT ROW_NUMBER()OVER(ORDER BY ID ASC)AS ROWNUM,CONTENTS FROM TEST_DB --오른쪽 SELECT ROW_NUMBER()OVER(ORDER BY ID DESC)AS ROWNUM,CONTENTS FROM TEST_DB 3. ROW_NUMBER 페이징 프로시저 ROW_NUMBER는 지정한 컬럼명으로 바로 WHERE문에 사용할 수.. 2022. 7. 31.
MS SQL_페이징처리1/OFFSET FETCH 사용법 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개 행.. 2022. 7. 31.