개발이야기/MySQL

[MySQL] LIMIT, OFFSET 사용해서 데이터 검색하고 제한하기

후린개발자 2023. 9. 11.
반응형

아래 예제 테이블과 쿼리는 LIMIT와 OFFSET을 사용해서 데이터를 검색하고 원하는 데이터를 선택 하는 코드입니다.

 

사용법

 

1. LIMIT

SELECT * FROM 테이블명 LIMIT 행의수;
SELECT * FROM students LIMIT 5;

 

ㅇ 반환하려는 행(row)의 수를 지정합니다.

 

 

2. LIMIT / OFFSET

SELECT * FROM 테이블명 LIMIT 행의수 OFFSET 시작위치;
SELECT * FROM students LIMIT 5 OFFSET 5; //6번째부터 10번째 학생까지의 정보를 반환합니다.

 

ㅇ LIMIT와 OFFSET을 함께 사용하면 결과 집합에서 특정 범위의 데이터를 추출할 수 있습니다. LIMIT는 반환하려는 행 수를 지정하고 OFFSET은 시작 위치를 나타냅니다.

 

예제

예제 테이블 (student)

 

SELECT * FROM students LIMIT 3;

ㅇ students 테이블에서 첫 3개 학생의 정보를 반환합니다.

 

쿼리 결과

 

SELECT * FROM students LIMIT 3 OFFSET 3;

ㅇ students 테이블에서 4번째부터 3개의 학생의 정보를 반환합니다. 4번째부터 6번째까지의 학생 정보를 가져옵니다.

 

쿼리 결과

 

활용방법

 

1. 페이징 쿼리

SELECT * FROM students LIMIT 10 OFFSET 10;  //2페이지의 학생 목록을 10개씩 표시

ㅇ 특정 페이지의 결과를 검색하는 데 사용 할 수 있습니다.

 

 

2. 데이터 검색 (최신 데이터 추출)

SELECT * FROM students ORDER BY id DESC LIMIT 5;

ㅇ 최신 데이터를 가져오려면 ORDER BY와 함께 LIMIT을 사용할 수 있습니다.

 

 

3. 범위 내 데이터 가져오기

SELECT * FROM students WHERE age >= 20 AND age <= 25 LIMIT 10; //나이가 20세에서 25세 사이인 학생

ㅇ WHERE 절과 함께 LIMIT 및 OFFSET을 사용할 수 있습니다.

 

 

4. 검색 결과의 중복 데이터 제거

SELECT DISTINCT last_name FROM students LIMIT 5; //고유한 성(last_name)을 갖는 학생들 중에서 처음 5명

ㅇ 중복된 결과를 제거하려면 DISTINCT와 LIMIT를 함께 사용할 수 있습니다.

반응형

댓글

💲 추천 글