TIL/DB

[TIL] MySQL 출력할 행의 개수 제한하기 - LIMIT, OFFSET

Dream COM Ddulut 2024. 12. 10. 16:21

LIMTI

 

'처음부터 시작해서 몇 개의 행을 반환할 것인가?'

 

LIMIT는 반환할 행의 최대 개수를 제한한다.

// 처음 10개의 행만 반환하기
SELECT * FROM table_name LIMIT 10;

 

 

OFFSET

 

'어디부터 시작할 것인가?'

 

OFFSET은 결과 집합에서 처음 몇 개의 행을 건너뛸 것인지를 지정한다.

// 처음 5개의 행을 건너 뛰고 6번째 행부터 10개의 행 반환(= 6번~15번 행)
SELECT * FROM table_name LIMIT 10 OFFSET 5;

 

 

LIMIT와 OFFSET을 활용한 Pagination 구현

 

LIMIT와 OFFSET을 활용하면 페이지네이션을 구현할 수 있다.

만약 20개의 행을 한 페이지로 보고싶다면 LIMIT 20 을 사용한다.

첫 번째 페이지는 OFFSET 0을 사용하면 되고, 두 번째 페이지는 OFFSET 20을 사용한다.

 

OFFSET으로 페이지를 표현하는 방법은 (한 페이지 행의 개수)⨉(페이지 번호-1)을 해주면 된다.

//20개의 행을 한 페이지로 보고, 두 번째 페이지를 출력하고자 하는 경우
SELECT * FROM table_name LIMIT 20 OFFSET 20;

'TIL > DB' 카테고리의 다른 글

[TIL] DATE, DATETIME, TIMESTAMP 비교  (0) 2024.12.06
[TIL] 집계 함수 (COUNT,SUM,AVG...) + LIMIT, DISTINCT  (0) 2024.12.05
[TIL] 릴레이션의 KEY  (0) 2024.12.04