페이징이란?
MySQL은 Oracle에 비해 페이징을 구현하기 쉽다.
속성을 추가하지 않고 출력위치를 설정할 수 있기 때문이다.
limit와 offset을 활용하여 페이징을 구현한다.
일반적으로 게시판 같은 것들을 만들 때 페이징 처리를 많이 한다.
만들어놓은 게시판 데이터를 이용해 활용해 보겠다.
MySQL orders , limit , offset
간단하게 정의하자면
limit = 행을 가져올 숫자
offset = 어디서부터 그 행을 가져올 것인지
라고 정의할 수 있다.
select * from [테이블명] orders limit A;
A만큼 행을 출력한다.
select * from [테이블명] orders limit A offset B
이 쿼리는 (B+1) 행부터 A행만큼 출력하겠다는 뜻이다.
select * from board_table orders order by id desc limit 3;
board_table 테이블에서 id 내림차순으로 정렬하며 , 행은 3개를 가져온다는 뜻이다.
주의점 : orders와 order by가 헷갈릴 수도 있을 것 같다.
select * from board_table orders order by id desc limit 3 offset 3;
3+1 행부터 3개만큼 출력하겠다는 쿼리문이다.
select * from board_table orders order by id desc limit 3 offset 6;
6+1 행부터 3개만큼 출력하겠다는 쿼리문이다.
3개만큼 출력이지만 남은 행이 2개밖에 없기 때문에 2개만 출력된다.
'MySQL > MySQL icia 29일차' 카테고리의 다른 글
MySQL 각종 쿼리 문 예제 (0) | 2023.04.03 |
---|---|
MySQL 각종 쿼리문 작성하기 (0) | 2023.04.03 |