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

MySQL에서 여러 열을 기준으로 행 정렬하는 방법 (ORDER BY 활용)

MySQL에서 여러 열을 기준으로 행 정렬하기

MySQL에서 ORDER BY 절에 여러 개의 열을 쉼표(,)로 구분하여 지정하면, 첫 번째 열을 기준으로 먼저 정렬한 후, 값이 중복되는 경우 두 번째 열을 기준으로 추가 정렬합니다. 아래 예제를 통해 단계별로 살펴보겠습니다.

1단계: 테이블 생성

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

mysql> create table DemoTable
    -> (
    -> FirstName varchar(20),
    -> LastName varchar(20)
    -> );
Query OK, 0 rows affected (1.44 sec)

2단계: 레코드 삽입

INSERT 명령을 사용하여 테이블에 샘플 데이터를 삽입합니다.

mysql> insert into DemoTable values('John','Smith');
Query OK, 1 row affected (0.35 sec)

mysql> insert into DemoTable values('Chris','Brown');
Query OK, 1 row affected (0.37 sec)

mysql> insert into DemoTable values('Carol','Taylor');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable values('David','Miller');
Query OK, 1 row affected (0.24 sec)

3단계: 전체 레코드 조회

SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

위 쿼리는 다음과 같은 결과를 출력합니다.

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      | Smith    |
| Chris     | Brown    |
| Carol     | Taylor   |
| David     | Miller   |
+-----------+----------+
4 rows in set (0.00 sec)

여러 열을 기준으로 정렬하는 쿼리

다음은 FirstName과 LastName 두 개의 열을 기준으로 행을 정렬하는 쿼리입니다.

mysql> select *from DemoTable order by FirstName,LastName

출력 결과

FirstName을 기준으로 오름차순 정렬된 결과를 확인할 수 있습니다.

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Carol     | Taylor   |
| Chris     | Brown    |
| David     | Miller   |
| John      | Smith    |
+-----------+----------+
4 rows in set (0.24 sec)

참고: ORDER BY 절은 기본적으로 오름차순(ASC)으로 정렬됩니다. 내림차순으로 정렬하려면 열 이름 뒤에 DESC 키워드를 붙이면 됩니다. 예를 들어 ORDER BY FirstName DESC, LastName ASC처럼 열마다 서로 다른 정렬 방향을 지정할 수도 있습니다.