SQL — Сортування результатів

18

Від автора: сортування SQL проводиться за допомогою умови ORDER BY. Воно використовується для сортування даних у порядку зростання або убування по одному або декількох стовпців. Деякі бази даних за замовчуванням сортують результати запиту за зростанням.

Синтаксис

Основний синтаксис умови ORDER BY, яке буде використовуватися для сортування результату в порядку зростання або убування, виглядає наступним чином:

SELECT список_колонок
FROM ім’я_таблиці
[WHERE умова]
[ORDER BY столбец1, столбец2, .. столбецN] [ASC | DESC];

Ви можете використовувати умови ORDER BY більше одного стовпця. Переконайтеся, що в списку стовпців вказані всі стовпці, які ви використовуєте для сортування.

Приклад

Розглянемо таблицю CUSTOMERS, містить наступні записи:

SQL — Сортування результатів

Нижче наведено приклад, який сортує результат у порядку зростання по стовпцях NAME і SALARY.

SELECT * FROM CUSTOMERS
ORDER BY NAME, SALARY;

Цей код дає наступний результат:

SQL — Сортування результатів

У наступному прикладі наведено код, який сортує результати в порядку убування за стовпцем NAME.

SELECT * FROM CUSTOMERS
ORDER BY NAME DESC;

Цей код дає наступний результат —

SQL — Сортування результатів

Щоб отримати рядки в потрібному вам порядку, використовується наступний запит SELECT:

SELECT * FROM CUSTOMERS
ORDER BY (CASE ADDRESS
WHEN ‘DELHI’ THEN 1
WHEN ‘BHOPAL’ THEN 2
WHEN ‘KOTA’ THEN 3
WHEN ‘AHMADABAD’ THEN 4
WHEN ‘MP’ THEN 5
ELSE 100 END) ASC, ADDRESS DESC;

Цей код дає наступний результат —

SQL — Сортування результатів

Спочатку сортування клієнтів проводиться по полю ADDRESS у тому порядку, як ви самі вказали, а решта адреси сортуються природним чином. Також залишилися адреси будуть відсортовані у зворотному алфавітному порядку.