В этом учебном пособии вы узнаете, как использовать MySQL оператор ORDER BY с синтаксисом и примерами.
Описание
MySQL оператор ORDER BY используется для сортировки записей в вашем результирующем наборе.
Синтаксис
Синтаксис оператора ORDER BY в MySQL:
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];
Параметры или аргументы
expressions - столбцы или вычисления, которые вы хотите получить.
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в операторе FROM.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для выбранных записей.
ASC - необязательный. Сортирует результирующий набор по expression в порядке возрастания (по умолчанию, если атрибут не указан).
DESC - необязательный. Сортирует результирующий набор по expression в порядке убывания.
Примечание
- Если атрибуты ASC или DESC не указаны в операторе ORDER BY, результаты будут отсортированы по expression в порядке возрастания. Это эквивалентно выражению ORDER BY ASC.
- Оператор ORDER BY может использоваться в предложениях SELECT, SELECT LIMIT и DELETE LIMIT в MySQL.
Пример сортировки без использования атрибута ASC / DESC
MySQL оператор ORDER BY может использоваться без указания атрибута ASC или DESC. Когда этот атрибут опущен в предложении ORDER BY, порядок сортировки по умолчанию равен ASC или по возрастанию.
Например:
1 2 3 4 |
SELECT city FROM customers WHERE customer_name = 'Dell' ORDER BY city; |
Этот пример MySQL ORDER BY возвратит все записи, отсортированные по полю city, в порядке возрастания и будет эквивалентен следующему примеру ORDER BY:
1 2 3 4 |
SELECT city FROM customers WHERE customer_name = 'Apple' ORDER BY city ASC; |
Большинство программистов опускают атрибут ASC при сортировке в порядке возрастания.
Пример сортировки по убыванию
При сортировке результирующего набора в порядке убывания вы используете атрибут DESC в операторе ORDER BY следующим образом:
1 2 3 4 |
SELECT last_name, first_name, city FROM contacts WHERE last_name = 'Markoski' ORDER BY city DESC; |
Этот MySQL пример ORDER BY возвращает все записи, отсортированные по полю city в порядке убывания.
Пример сортировки по относительной позиции
Вы также можете использовать MySQL оператор ORDER BY для сортировки по относительной позиции в результирующем наборе, где первое поле в результирующем наборе равно 1. Следующее поле равно 2 и так далее.
Например:
1 2 3 4 |
SELECT last_name, first_name, city FROM contacts WHERE last_name = 'Markoski' ORDER BY 3 DESC; |
Этот пример MySQL ORDER BY вернет все записи, отсортированные по полю city, в порядке убывания, так как поле city находится в позиции №3 в результирующем наборе и будет эквивалентно следующему примеру ORDER BY:
1 2 3 4 |
SELECT last_name, first_name, city FROM contacts WHERE last_name = 'Markoski' ORDER BY city DESC; |
Пример использования атрибутов ASC и DESC.
При сортировке набора результатов с использованием ORDER BY оператора MySQL вы можете использовать атрибуты ASC и DESC в одном предложении SELECT.
Например:
1 2 3 4 |
SELECT supplier_city, supplier_state FROM suppliers WHERE supplier_name = 'Microsoft' ORDER BY supplier_city DESC, supplier_state ASC; |
Этот пример MySQL оператора ORDER BY будет возвращать все записи, отсортированные по полю supplier_city, в порядке убывания, с вторичной сортировкой по supplier_state в порядке возрастания.