티스토리 뷰

IT 생활

[mysql] 페이징 처리 - limit 사용방법

개구리뒷다리 2016. 12. 2. 16:06

mysql을 이용하여 게시판을 만들다 보면 페이징 처리를 해야만 합니다. 페이징이란 총 게시글이 100개가 있으면 20개씩 잘라서 한 화면에 보여주는것을 말합니다. 한마디로 게시글 밑에 [1][2][3][4][5] 이런식으로 클릭하면 해당 페이지의 게시글의 리스트를 뿌려주는 역할을 하게됩니다. mysql에서는 limit를 이용하여 해결이 가능합니다.

예를 들어보겠습니다.

test테이블

 컬럼1

컬럼2

컬럼3

 1

 2

 3

 4

 

이렇게 있다고 가정할때 다음과 같이 사용하면 됩니다.

  • SELECT * FROM test LIMIT 가져올 개수
  • SELECT * FROM test LIMIT      2

위 쿼리를 실행하면 test테이블에서 1,2테이블만 나오게 됩니다. 하지만 이렇게만 해서는 페이징 처리를 할 수 없습니다.

  • SELECT * FROM test LIMIT 기준 row,     가져올 개수
  • SELECT * FROM test LIMIT       0   ,             2

이렇게 하면 결과값은 첫번재 실행했던 결과와 값은 같습니다. 하지만 아래와 같이 한다면

  • SELECT * FROM test LIMIT       2   ,             2

결과 값은 2번째 값까지를 제외시킨 3, 4row로 테이블이 만들어 집니다. 결론적으로 100개의 row가 있는 테이블에서 20개씩 화면을 표시한다고 했을때 첫번째 페이지는 LIMIT 0,20 이 되고 2번째 페이지는 LIMIT 20,20이 되고 세번째페이지는 40,20이 됩니다.

급히 적느라 오타나 실수가 있을 수 있으니 충분히 테스트하고 공부해 보시기 바랍니다.

2016/12/01 - [IT 생활] - [mysql] insert구문 조건비교 후 넣기 - dual,exists

이상 mysql limit를 이용한 페이징처리 방법에 대해 알아보았습니다.

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/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
Total
Today
Yesterday