Spec-Zone.ru › MySQL 5.7

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 порядок сортировки столбца.

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

Spec-Zone.ru

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