반응형
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 | 스무번째 제목 | 스무번째 내용 |
반응형
댓글