Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 01.10.2022)
59610
солдат
264
самолетов
226
вертолетов
2354
танков
4949
ББМ
1397
артиллерия
176
ПВО
333
РСЗО
3786
машин
15
корабли и катера
Ознакомление с оператором ORDER BY в MySQL

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

 

 

Добавить комментарий

Ваш адрес email не будет опубликован.