Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 18.11.2022)
83460
осіб
278
літаків
261
гелікоптерів
2879
танків
5808
ББМ
1865
артилерія
209
ППО
393
РСЗВ
4366
машин
16
кораблі і катери
Ознайомлення з оператором 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 для сортування рядків в наборі результатів по одному або кількох стовпцях в порядку зростання або зменшення.

 

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься.