ORDER BY 절

1 개요[ | ]

ORDER BY Clause; ORDER BY
ORDER BY 절
  • SELECT 문ORDER BY
  • 여러 개의 컬럼으로 정렬 가능 (앞에 있는 것이 우선이 됨) ★
  • 기본적으로 오름차순이며, DESC[1]를 써서 내림차순 정렬 가능[2]
  • 선택되지 않은 컬럼으로도 정렬 가능 ★
  • 선택된 컬럼 중 위치번호로 정렬 가능 (권장되지 않음)

2 예시: 오름차순[ | ]

mysql> SELECT * FROM plays ORDER BY wins;
+--------+-------+------+
| name   | plays | wins |
+--------+-------+------+
| Susan  |    17 |    3 |
| John   |    20 |    5 |
| Robert |    22 |    8 |
| Wanda  |    32 |    8 |
+--------+-------+------+
4 rows in set (0.00 sec)

3 예시: 내림차순[ | ]

mysql> SELECT * FROM plays ORDER BY wins DESC;
+--------+-------+------+
| name   | plays | wins |
+--------+-------+------+
| Robert |    22 |    8 |
| Wanda  |    32 |    8 |
| John   |    20 |    5 |
| Susan  |    17 |    3 |
+--------+-------+------+
4 rows in set (0.00 sec)
승률이 높은 순으로 선수 이름 뽑기
mysql> SELECT name FROM plays ORDER BY wins/plays DESC;
+--------+
| name   |
+--------+
| Robert |
| John   |
| Wanda  |
| Susan  |
+--------+
4 rows in set (0.00 sec)

4 예시: 랜덤[ | ]

mysql> SELECT * FROM plays ORDER BY RAND();
+--------+-------+------+
| name   | plays | wins |
+--------+-------+------+
| Susan  |    17 |    3 |
| Wanda  |    32 |    8 |
| Robert |    22 |    8 |
| John   |    20 |    5 |
+--------+-------+------+
4 rows in set (0.03 sec)

5 예시: 선택된 컬럼 중 위치번호로 정렬[ | ]

  • 권장되지 않음
mysql> SELECT name, wins FROM plays ORDER BY 2, 1;
+--------+------+
| name   | wins |
+--------+------+
| Susan  |    3 |
| John   |    5 |
| Robert |    8 |
| Wanda  |    8 |
+--------+------+
4 rows in set (0.00 sec)

6 같이 보기[ | ]

7 주석[ | ]

  1. 또는 DESCENDING
  2. DESC 앞에 쓴 컬럼만 내림차순. 여러 컬럼에 적용하려면 각각 써야 함

8 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}