ОсновыНачальный
ORDER BY
Сортирует результат запроса по одной или нескольким колонкам.
Синтаксис
SELECT ... FROM table ORDER BY column1 [ASC|DESC], column2 [ASC|DESC];Объяснение
ORDER BY выполняется последним в цепочке клаузул. Направление: ASC (по умолчанию) или DESC.
Важно: без ORDER BY порядок строк не определён — не полагайся на него. При одинаковых значениях добавляй уникальную колонку (обычно id) для стабильного порядка.
Пример
-- Сортировка по нескольким полям
SELECT name, salary, department
FROM employees
ORDER BY department ASC, salary DESC;Связанные термины
Анекдоты по теме
Программист пишет пагинацию: SELECT * FROM posts ORDER BY created_at LIMIT 20 OFFSET 10000; — Работает медленно на больших страницах. DBA: OFFSET 10000 значит база читает 10020 строк и выбрасывает 10000. — Как исправить? — Keyset pagination: WHERE created_at < $last_seen ORDER BY created_at DESC LIMIT 20
SELECT * — это как заказать в ресторане «всё меню», когда хочешь только суп.
— Что такое materialized path для деревьев? — Храним путь от корня в строке: '1/4/7/12' — Поиск всех потомков: WHERE path LIKE '1/4/%' — Плюсы? — Простота. Быстрый поиск поддерева. — Минусы? — Перемещение узла — обновить все потомки. — Альтернативы? — nested sets, closure table, рекурсивный CTE.