Вы уже, наверное, заметили, что
результаты, выдававшиеся
запросами из предыдущих примеров,
выводились без какой-либо
сортировки. Но ведь часто
разобраться в результатах легче,
если они отсортированы. Для этого
используется выражение 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(поле).
Для сортировки в обратном порядке
к имени столбца следует добавить
ключевое слово 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
по-прежнему отсортированы в
возрастающем порядке.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
