Ознакомление с оператором 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 для сортировки строк в наборе результатов по одному или нескольким столбцам в порядке возрастания или убывания.

 

Share
Теги: mysql

Последние посты

202ЗСУ

SebWeo поздравляет всех с Новым годом! Желаем личных побед, а главное, самой желанной – скорой… Читать далее

31/12/2022

Какой подарок можно вручить отцу ко Дню защитника Украины?

У каждой украинской семьи есть свои традиции и любимые праздники, особенно все мы любим поздравлять… Читать далее

19/08/2022

Демокрит

Мы не столько нуждаемся в помощи друзей, сколько в уверенности, что мы ее получим Демокрит… Читать далее

21/02/2022

Майк Тайсон

Когда мне тяжело, я всегда напоминаю себе о том, что если я сдамся — лучше… Читать далее

12/02/2022

25 полезных советов и решений jQuery, которые вы должны знать

jQuery — это быстрая и довольно таки небольшая библиотека JavaScript. Она упрощает создание интерактивных и… Читать далее

09/02/2022

Иоганн Вольфганг фон Гете

Каждый слышит только то, что он понимает Иоганн Вольфганг фон Гете   Читать далее

03/02/2022