본문 바로가기
MS SQL

MS SQL_페이징처리3/TOP()사용법

by 디디찐 2022. 7. 31.
반응형

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) ID 
                  FROM TEST_DB
                 ORDER BY ID ASC
                   )
  ORDER BY ID ASC

SET NOCOUNT OFF
END

EXEC [SP_PAGING3] @PAGE_NO = 2, @PAGE_SIZE = 5

📌총정리

동일한 결과가 나오도록

3개의 문법으로 프리시저를 각각 짜보았는데

@PAGE_NO, @ PAGE_SIZE 의 범위를 설정하는 것이

어려웠던 느낌이네요

 

@PAGE_NO => 페이지 번호 < [1] [2] [3]>

@PAGE_SIZE => 한 페이지에 보여줄 행의 수, 크기

((@PAGE_NO-1)*@PAGE_SIZE) => 제외할 행의 수, 크기 (제외할 이전 페이지,,?)

 

 


 

부족하지만 읽어주셔서 감사합니다.

반응형

'MS SQL' 카테고리의 다른 글

MS SQL_PARTION사용법  (0) 2022.08.02
MS SQL_사용자 정의 함수 사용법  (0) 2022.08.02
MS SQL_프로시저 사용법  (0) 2022.08.01
MS SQL_페이징처리2/ROW_NUMBER 사용법  (0) 2022.07.31
MS SQL_페이징처리1/OFFSET FETCH 사용법  (0) 2022.07.31