Skip to main content

Як сортувати за кількома полями?

Щоб відсортувати дані за кількома полями, у SQL після ORDER BY вказують кілька стовпців через кому.

Синтаксис

sql
SELECT * FROM table_name ORDER BY field1 [ASC|DESC], field2 [ASC|DESC], field3 [ASC|DESC];

SQL сортуватиме у порядку, в якому записані поля: спершу за першим, потім - усередині кожної групи за другим, і так далі.

Приклад

sql
SELECT name, department, salary FROM employees ORDER BY department ASC, salary DESC;

Що відбувається:

  1. Спочатку всі рядки групуються за відділами - за алфавітом (ASC);
  2. Усередині кожного відділу співробітники сортуються за зарплатою - від більшої до меншої (DESC).

Ще приклад

sql
SELECT city, last_name, first_name FROM clients ORDER BY city ASC, last_name ASC, first_name ASC;

Спочатку клієнти за містами, усередині - за прізвищем, і якщо прізвище збігається - за іменем.

Підсумок: ORDER BY може містити кілька полів - SQL застосовує сортування послідовно, зліва направо. Кожне поле можна сортувати у своєму напрямку (ASC або DESC).

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.