Ознакомление с оператором 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 для сортировки строк в наборе результатов по одному или нескольким столбцам в порядке возрастания или убывания.
Последние посты
Как выбрать идеальный ноутбук: Полный гайд
Выбор ноутбука может быть сложной задачей в мире, где рынок переполнен вариантами на любой вкус… Читать далее
Томас Эдисон
Наша самая большая слабость заключается в том, что мы быстро сдаемся. Самый верный способ добиться… Читать далее
Самые красивые и впечатляющие мосты со всего мира (ТОП-10)
Мост — это нечто большее, чем просто сооружение, соединяющее два берега. Для того, чтобы появился… Читать далее
Соломон
Жизнь нас учит, что свою пару мы познаем, когда разводимся, своих братьев мы познаем, когда… Читать далее
Чак Паланик
Кто может — тот делает. Кто не может — тот критикует Чак Паланик Читать далее
Ричард Бах
Ни одно желание не дается тебе отдельно от силы, позволяющей его осуществить. Хотя, возможно, для… Читать далее