У сьогоднішньому уроці ми розглянемо на практиці те, як сортувати результати вибірки з бази даних за допомогою оператора 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 для сортування автомобілів за значеннями в стовпці carYear в порядку зростання.
SELECT carYear, carBrand FROM cars ORDER BY carYear;
Якщо ви хочете впорядкувати автомобілі за роком випуску в порядку убування, використовуйте DESC після стовпчика carYear в умові ORDER BY, як показано в наступному запиті:
SELECT carYear, carBrand FROM cars ORDER BY carYear DESC;
Якщо ви хочете впорядкувати автомобілі за роком випуску в порядку убування, а потім по бренду (марці) в порядку зростання, у відповідному стовпці вкажіть DESC і ASC наступним чином:
SELECT carYear, carBrand FROM cars ORDER BY carYear DESC, carBrand ASC;
У цьому прикладі умова ORDER BY сортує результуючий набір за роком випуску автомобіля в порядку убування, а потім сортує результуючий набір по марці автомобіля в порядку зростання, щоб отримати остаточний набір результатів.
Наступний запит вибирає позиції замовлення з таблиці orderDetails. Він розраховує проміжний підсумок для кожної окремої позиції і сортує результуючий набір на основі проміжного підсумку.
SELECT orderNumber, orderQuantity * eachPrice FROM orderDetails ORDER BY orderQuantity * eachPrice DESC;
З сьогоднішнього уроку ви дізналися, як використовувати умову ORDER BY в MySQL для сортування рядків в наборі результатів по одному або кількох стовпцях в порядку зростання або зменшення.
Анонімність та розділення акаунтів є базовою потребою для співробітників, що займаються арбітражем трафіку, SMM чи…
Деякі запчастини в автомобілях ми експлуатуємо доти, доки вони повністю не вийдуть з ладу. Однак…
В 2026 році конкуренція в e-commerce стала жорсткою як ніколи. Клієнти вибирають не тільки за…
Урожай найчастіше втрачають не через аномальні зміни погоди, а через дрібні рішення, які здаються неважливими.…
Музичні інструменти супроводжують людство протягом усієї його історії. Вони з'явилися задовго до писемності і стали…
VR-продакшн сьогодні є окремим напрямком у цифровому виробництві, що поєднує технології віртуальної реальності, 3D-графіку, програмування,…