PostgreSQL에서 특히 페이징할때 많이 사용하는 LIMIT ~ OFFSET 에 대해 알아보자.

 

▷ 구문

SELECT * FROM [TABLE] LIMIT [NUM_A] OFFSET [NUM_B];

 

LIMIT는 개수를 제한하는것이며 OFFSET은 시작 위치를 지정해준다고 생각하면 쉽다.

 

예제를 통해 알아보도록 하자.


예제를 시작하기에 앞서 이해를 돕기 위해 기본적으로 아래와 같은 데이터를 가진 테이블이 존재한다고 가정하여 진행한다.

 

BBS_TABLE

BBS_SN  BBS_SJ BBS_CTN 
 1  첫번째 제목 첫번째 내용
 2  두번째 제목 두번째 내용
 ...  ... ...
 20  스무번째 제목 스무번째 내용

 

▷ 예제1) 처음 10개의 게시글(ROW)를 가져온다.

SELECT * FROM BBS_TABLE LIMIT 10
SELECT * FROM BBS_TABLE LIMIT 10 OFFSET 0

 

두 쿼리문이 같은 결과를 반환하며 결과는 다음과 같다.

 

▷ 결과

BBS_SN  BBS_SJ BBS_CTN 
 1  첫번째 제목 첫번째 내용
 2  두번째 제목 두번째 내용
 ...  ... ...
 10  열번째 제목 열번째 내용

 

▷ 예제2) 11번째부터 10개의 게시글(ROW)를 가져온다.

SELECT * FROM BBS_TABLE LIMIT 10 OFFSET 10

 

단지 달라진것은 OFFSET의 숫자가 달라진것이며 이런식으로 사용하게되면 손쉽게 페이징관련 구현이 가능하다.

 

▷ 결과

BBS_SN  BBS_SJ BBS_CTN 
 11 열한번째 제목 열한번째 내용
 12 열두번째 제목 열두번째 내용
 ...  ... ...
 20  스무번째 제목 스무번째 내용

 

반응형
  1. hoho45 2021.11.23 15:53

    충성충성[--]7[--]7[--]7