티스토리 뷰

await this.reviewRepository.find({
    where: { writer: id },
    skip: size * (page - 1),
    take: size
});


// 쿼리빌더 사용 시
await this.postRepository
    .createQueryBuilder('post')
    .limit(size)
    .offset(size * (page - 1))
    .getMany()
  • size: 한 페이지 당 보여줄 콘텐츠 수
  • page: 페이지 번호

 

offset = size * (page - 1)

게시판을 생각해보면 1페이지는 1~10번, 2페이지는 11~20번, 3페이지는 21~30번, .... 게시글을 가져온다
MYSQL에서 offset은 0일 때 +1인 1번째 row부터, 10일때 +1인 11번째 row부터 가져온다

2페이지에서 11번 게시글부터 불러오려면 offset은 10이어야한다
size = 10, page = 2일 때 offset이 10이 되려면 => size * (page - 1) = 10 * (2 - 1) = 10 

 


limit와 offset에 대해 잘 정리된 블로그 : https://zzang9ha.tistory.com/295

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함