Ознайомлення з оператором 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 для сортування рядків в наборі результатів по одному або кількох стовпцях в порядку зростання або зменшення.
Останні пости
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі
Стівен Кінг
Життя — це безперервний досвід, і навіть найгірші моменти займають своє місце у пазлі нашого… Читати далі
невідомий автор
Люди, які люблять самотність, дорого заплатили за дружбу з кимось... (невідомий автор) Читати далі
Наполеон Гілл
Що розум людини може осягнути і в що він може повірити, того він здатен досягти… Читати далі