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

MySQL LIMIT로 상위 2개 값 조회하기 – ORDER BY DESC 실전 예제

MySQL에서 LIMIT 절로 상위 두 개 값 선택하는 방법

테이블에서 가장 큰 값들을 기준으로 상위 데이터를 가져오려면 ORDER BY DESC를 사용해야 합니다. 내림차순 정렬과 함께 LIMIT 2를 지정하면 최상위 두 개의 값만 손쉽게 조회할 수 있습니다.

예제를 통해 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    Amount int
);
Query OK, 0 rows affected (0.73 sec)

2단계: 데이터 삽입

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

mysql> insert into DemoTable values(986);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(1010);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(769);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(989);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(999);
Query OK, 1 row affected (0.15 sec)

3단계: 전체 레코드 확인

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

mysql> select *from DemoTable;

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

+--------+
| Amount |
+--------+
|    986 |
|   1010 |
|    769 |
|    989 |
|    999 |
+--------+
5 rows in set (0.00 sec)

4단계: LIMIT로 상위 두 개 값 조회

다음은 MySQL에서 ORDER BY DESCLIMIT를 조합하여 가장 큰 값 두 개를 선택하는 쿼리입니다.

mysql> select *from DemoTable order by Amount DESC LIMIT 2;

실행하면 아래와 같이 Amount 기준으로 가장 큰 두 개의 값(1010, 999)이 출력됩니다.

+--------+
| Amount |
+--------+
|   1010 |
|    999 |
+--------+
2 rows in set (0.00 sec)

정리

상위 N개의 값을 조회할 때는 ORDER BY 컬럼명 DESC LIMIT N 패턴을 기억하면 됩니다. 오름차순으로 가장 작은 값을 구하고 싶다면 DESC 대신 ASC를 사용하면 됩니다. 이 방식은 숫자뿐만 아니라 날짜, 문자열 등 다양한 데이터 타입에도 동일하게 적용할 수 있습니다.