Ознакомление с оператором ORDER BY в MySQL

В сегодняшнем уроке мы рассмотрим на практике то, как сортировать результаты выборки из базы данных с помощью оператора ORDER BY в MySQL.

 

 

Основы оператора ORDER BY в MySQL

Когда вы используете инструкцию SELECT для запроса данных из таблицы, результирующий набор не сортируется. Это означает, что строки в наборе результатов могут быть в любом порядке.

Чтобы отсортировать набор результатов, вам нужно добавлять условие ORDER BY в инструкцию SELECT. Ниже показан синтаксис условия ORDER BY:

SELECT
 select_query
FROM
 table_name
ORDER BY
 column_name_1 [ASC|DESC],
 column_name_2 [ASC|DESC],
 ...;

 

 

В этом синтаксисе вы указываете один или несколько столбцов, которые вы хотите отсортировать после условия ORDER BY.

ASC означает сортировка набора результатов по возрастанию, а DESC – сортировка набора результатов по убыванию.

 

Это условие ORDER BY сортирует результирующий набор в порядке возрастания:

ORDER BY column_name_1 ASC;

 

А это условие ORDER BY сортирует набор результатов в порядке убывания:

ORDER BY column_name_1 DESC;

 

По умолчанию в условии ORDER BY используется ASC, если вы явно не указали какую-либо опцию.

Следовательно, следующие примеры эквивалентны:

ORDER BY column_name_1 ASC;
и
ORDER BY column_name_1;

 

 

Если вы хотите отсортировать результирующий набор по нескольким столбцам, укажите разделенный запятыми список столбцов в условии ORDER BY:

ORDER BY
 column_name_1,
 column_name_2;

 

 

Можно отсортировать результат по одному столбцу в порядке возрастания, а по другому столбцу в порядке убывания:

ORDER BY
 column_name_1 ASC,
 column_name_2 DESC;

 

 

В этом случае условие ORDER BY:

  • Сначала отсортирует набор результатов по значениям в column_name_1 в порядке возрастания.
  • Затем отсортирует отсортированный результат по значениям в column_name_2 в порядке убывания. Обратите внимание, что на этом шаге порядок значений в column_name_1 не изменится, меняется только порядок значений в column_name_2.

 

Обратите внимание, что условие ORDER BY всегда выполняется после условий FROM і SELECT.

 

 

Примеры выражений оператора ORDER BY в MySQL

 

Пример №1: Использование условия ORDER BY для сортировки в одном столбце

В следующем запросе используется условие ORDER BY для сортировки автомобилей по значениям в столбце carYear в порядке возрастания.

SELECT
 carYear,
 carBrand
FROM
 cars
ORDER BY
 carYear;

 

 

Если вы хотите отсортировать автомобили по году выпуска в порядке убывания, используйте DESC после столбца carYear в предложении ORDER BY, как показано в следующем запросе:

SELECT
 carYear,
 carBrand
FROM
 cars
ORDER BY
 carYear DESC;

 

 

 

Пример №2: Использование условия ORDER BY для сортировки значений в нескольких столбцах

Если вы хотите отсортировать автомобили по году выпуска в порядке убывания, а затем по бренду (марке) в порядке возрастания, в соответствующем столбце укажите DESC и ASC следующим образом:

SELECT
 carYear,
 carBrand
FROM
 cars
ORDER BY
 carYear DESC,
 carBrand ASC;

 

 

В этом примере условие ORDER BY сортирует результирующий набор по году выпуска автомобиля в порядке убывания, а затем сортирует результирующий набор по марке автомобиля в порядке возрастания, чтобы получить окончательный набор результатов.

 

 

Пример №3: Условие ORDER BY для сортировки с использованием выражения

Следующий запрос выбирает данные заказа из таблицы orderDetails. Он рассчитывает промежуточный итог для каждой отдельной позиции и сортирует результирующий набор на основе промежуточного итога.

SELECT
 orderNumber,
 orderQuantity * eachPrice
FROM
 orderDetails
ORDER BY
 orderQuantity * eachPrice DESC;

 

 

 

Из сегодняшнего урока вы узнали, как использовать условие ORDER BY в MySQL для сортировки строк в наборе результатов по одному или нескольким столбцам в порядке возрастания или убывания.

 

Recent Posts

Когда точно пора сдать старый катализатор для выгодной продажи

Некоторые запчасти в автомобилях мы эксплуатируем до того момента, пока они полностью не выйдут из…

1 неделя ago

Как онлайн-мониторинг цен конкурентов помогает бизнесу в 2026 году

В 2026 году конкуренция в e-commerce стала жесткой как никогда. Клиенты выбирают не только по…

2 недели ago

5 аграрных ошибок, которые вредят урожаю, но о них редко говорят

Урожай чаще всего теряют не из-за аномальных изменений погоды, а из-за мелких решений, которые кажутся…

4 недели ago

Музыкальные инструменты, история, классификация и роль в культуре человечества

Музыкальные инструменты сопровождают человечество на протяжении всей его истории. Они появились задолго до письменности и…

1 месяц ago

VR-продакшн, полный цикл создания виртуальной реальности

VR-продакшн сегодня представляет собой отдельное направление в цифровом производстве, объединяющее технологии виртуальной реальности, 3D-графику, программирование,…

1 месяц ago

Почему Bambu Lab – «iPhone среди 3D-принтеров»

Еще несколько лет назад 3D-печать считалась занятием для «избранных» – людей, готовых тратить время на…

2 месяца ago