Spec-Zone.ru › MySQL 9.2

5.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.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/sorting-rows.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API