3.3.4.4 행 정렬
앞의 예에서 결과 행의 표시는 특정 순서가 없다는 것을 발견 한 것입니다. 종종 쿼리의 출력 행을 어떠한 의미있는 순서로 정렬하면 쉽게 볼 수 있습니다. 결과를 정렬하려면 ORDER BY
절을 사용합니다.
다음은 애완 동물의 생년월일을 날짜별로 정렬 한 것을 나타냅니다.
mysql> SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Bowser | 1989-08-31 |
| Fang | 1990-08-27 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+
문자 형태의 컬럼 정렬은 다른 모든 비교 연산과 마찬가지로 보통 대소 문자 구분없이 실행됩니다. 따라서 대문자와 소문자의 차이 밖에없는 컬럼의 경우 순서는 정의되지 않습니다. 컬럼의 정렬에서 대소 문자를 구별하려면 BINARY
를 사용하여 ORDER BY BINARY
과 같이 지정합니다. col_name
기본 정렬 순서는 오름차순으로 최소값이 처음입니다. 역순 (내림차순)로 정렬하려면 정렬 할 컬럼의 이름에 DESC
키워드를 추가하십시오.
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Buffy | 1989-05-13 |
+----------+------------+
여러 컬럼으로 정렬 할 수 정렬 방향은 열마다 다를 수 있습니다. 예를 들어, 애완 동물의 종류 오름차순으로 정렬 한 후 같은 종류 중에서는 생년월일 내림차순으로 (빠른 순서로) 정렬하려면 다음 쿼리를 사용합니다.
mysql>SELECT name, species, birth FROM pet
->ORDER BY species, birth DESC;
+----------+---------+------------+ | name | species | birth | +----------+---------+------------+ | Chirpy | bird | 1998-09-11 | | Whistler | bird | 1997-12-09 | | Claws | cat | 1994-03-17 | | Fluffy | cat | 1993-02-04 | | Fang | dog | 1990-08-27 | | Bowser | dog | 1989-08-31 | | Buffy | dog | 1989-05-13 | | Puffball | hamster | 1999-03-30 | | Slim | snake | 1996-04-29 | +----------+---------+------------+
DESC
키워드는 그 직전의 컬럼 이름 ( birth
)에만 적용됩니다. species
컬럼의 정렬 순서에는 영향을주지 않습니다.