Перейти к содержанию

Сортировка данных (ORDER BY)

Основы сортировки

Оператор ORDER BY используется для сортировки результатов запроса по одному или нескольким столбцам.

Синтаксис

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Направления сортировки

  • ASC — по возрастанию (по умолчанию)
  • DESC — по убыванию

Примеры использования

Сортировка по одному столбцу

-- Сортировка по имени (A-Z)
SELECT * FROM users ORDER BY first_name ASC;

-- Сортировка по убыванию
SELECT * FROM products ORDER BY price DESC;

Сортировка по датам

-- Последние заказы сначала
SELECT * FROM orders ORDER BY order_date DESC;

Множественная сортировка

-- Сначала по городу, затем по зарплате внутри города
SELECT * FROM employees
ORDER BY city ASC, salary DESC;

Сортировка с LIMIT

-- Top 5 самых дорогих продуктов
SELECT * FROM products
ORDER BY price DESC
LIMIT 5;

Практические примеры

Топ товаров по продажам

SELECT 
    product_name,
    SUM(quantity) AS total_sold
FROM order_items
GROUP BY product_name
ORDER BY total_sold DESC
LIMIT 10;

Частые ошибки

❌ Неправильно:

ORDER BY;  -- Отсутствует столбец

✅ Правильно:

ORDER BY created_at;

Что дальше?


Совет: Всегда используйте ORDER BY вместе с LIMIT для пагинации — без сортировки порядок строк не гарантирован!