Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL LIMIT와 ORDER BY로 레코드를 정렬하고 원하는 개수만 가져오는 방법

MySQL에서 ORDER BY 절과 LIMIT 절을 함께 사용하면 테이블의 레코드를 특정 기준으로 정렬한 뒤, 그중 원하는 개수만큼만 조회할 수 있습니다. 이 글에서는 실제 예제를 통해 그 방법을 단계별로 살펴보겠습니다.

1. 예제 테이블 생성하기

먼저 데모용 테이블을 생성합니다.

mysql> create table DemoTable679(FirstName varchar(100));
Query OK, 0 rows affected (0.44 sec)

2. 레코드 삽입하기

INSERT 명령을 사용해 테이블에 여러 개의 레코드를 추가합니다.

mysql> insert into DemoTable679 values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable679 values('Chris');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable679 values('David');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable679 values('Bob');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable679 values('Mike');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable679 values('Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable679 values('Robert');
Query OK, 1 row affected (0.15 sec)

3. 전체 레코드 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable679;

실행 결과는 다음과 같습니다.

+-----------+
| FirstName |
+-----------+
| John      |
| Chris     |
| David     |
| Bob       |
| Mike      |
| Sam       |
| Robert    |
+-----------+
7 rows in set (0.00 sec)

4. ORDER BY와 LIMIT로 정렬 후 일부 레코드만 가져오기

레코드를 정렬한 상태에서 일부만 조회하려면 ORDER BY 절로 정렬 기준을 지정하고, LIMIT 절로 가져올 레코드 수를 제한하면 됩니다.

아래 쿼리는 FirstName 열을 오름차순(ASC)으로 정렬한 뒤, 처음 4개의 레코드만 출력합니다.

mysql> select * from DemoTable679 order by FirstName Limit 0,4;

실행 결과는 다음과 같습니다.

+-----------+
| FirstName |
+-----------+
| Bob       |
| Chris     |
| David     |
| John      |
+-----------+
4 rows in set (0.00 sec)

LIMIT 구문 이해하기

LIMIT 0, 4에서 첫 번째 숫자인 0은 시작 오프셋(건너뛸 레코드 수)을 의미하고, 두 번째 숫자인 4는 반환할 최대 레코드 수를 의미합니다. 즉, 정렬된 결과 중 첫 번째 레코드부터 4개를 가져옵니다.

예를 들어 다음 페이지의 데이터를 보고 싶다면 오프셋을 조정하면 됩니다.

-- 5번째부터 4개의 레코드 조회
mysql> select * from DemoTable679 order by FirstName Limit 4,4;

마무리

이처럼 MySQL에서는 ORDER BY로 정렬 순서를 결정하고 LIMIT로 반환 개수를 제어함으로써, 대량의 데이터 중에서도 필요한 범위의 레코드만 효율적으로 조회할 수 있습니다. 게시판 페이징 처리나 상위 N개 항목 조회 등 실무에서 매우 자주 활용되는 패턴이므로 꼭 익혀두시기 바랍니다.