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

MySQL에서 높은 값부터 낮은 값까지 정렬하는 방법: ORDER BY DESC와 ASC 활용법

MySQL에서 데이터를 높은 값부터 낮은 값(내림차순)으로 정렬하려면 ORDER BY DESC 명령어를 사용하면 됩니다.

SELECT * FROM yourTableName ORDER BY yourColumnName DESC;

반대로 낮은 값부터 높은 값(오름차순)으로 정렬하고 싶다면 ORDER BY ASC 명령어를 사용합니다.

SELECT * FROM yourTableName ORDER BY yourColumnName ASC;

실습용 테이블 생성하기

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

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

레코드 삽입하기

INSERT 명령어를 사용해 테이블에 데이터를 입력합니다.

mysql> insert into DemoTable values(134);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(245);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(451);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(1090);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(789);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(434);
Query OK, 1 row affected (0.22 sec)

저장된 데이터 확인하기

SELECT 명령어로 테이블의 전체 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

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

+-------+
| Value |
+-------+
| 134   |
| 245   |
| 451   |
| 1090  |
| 789   |
| 434   |
+-------+
6 rows in set (0.00 sec)

Case 1: 내림차순 정렬 (높은 값 → 낮은 값)

ORDER BY ... DESC를 사용하면 가장 큰 값이 맨 위에 오도록 정렬됩니다.

mysql> select *from DemoTable order by Value DESC;

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

+-------+
| Value |
+-------+
| 1090  |
| 789   |
| 451   |
| 434   |
| 245   |
| 134   |
+-------+
6 rows in set (0.07 sec)

Case 2: 오름차순 정렬 (낮은 값 → 높은 값)

ORDER BY ... ASC를 사용하면 가장 작은 값이 맨 위에 오도록 정렬됩니다.

mysql> select *from DemoTable order by Value ASC;

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

+-------+
| Value |
+-------+
| 134   |
| 245   |
| 434   |
| 451   |
| 789   |
| 1090  |
+-------+
6 rows in set (0.00 sec)

정리

MySQL의 ORDER BY 절은 기본적으로 오름차순(ASC)으로 동작합니다. 따라서 ASC는 생략할 수 있으며, 내림차순으로 정렬하고 싶을 때만 DESC 키워드를 명시하면 됩니다. 숫자형 컬럼뿐 아니라 날짜, 문자열 컬럼에도 동일하게 적용할 수 있어 게시글 최신순 정렬, 가격 높은순 정렬 등 다양한 상황에서 유용하게 활용됩니다.