ORDER BY - сортировка
С помощью команды ORDER BY
можно сортировать строки результата.
SELECT `список_столбцов` (или*) FROM `имя_таблицы` ORDER BY `сортируемое_поле` (направление сортировки); -- возможно применение операторов
Выберем из нашей таблицы users
всех юзеров и отсортируем их по возрасту от меньшего к большему:
SELECT * FROM `users` ORDER BY `age`;
Поменяем порядок сортировки с помощью команды DESC
:
SELECT * FROM `users` ORDER BY `age` DESC;
Выберем всех юзеров с зарплатой 500 и отсортируем их по возрасту от меньшего к большему:
SELECT * FROM `users` WHERE `salary`=500 ORDER BY `age`;
Можно сортировать не по одному полю, а по нескольким. Давайте для примера выберем всех юзеров и отсортируем их сначала по возрастанию возраста, а юзеров с одинаковыми возрастами отсортируем по возрастанию зарплаты:
SELECT * FROM `users` ORDER BY `age`, `salary`;
Выберем всех юзеров и отсортируем их сначала по возрастанию возраста, а юзеров с одинаковыми возрастами отсортируем по убыванию зарплаты:
SELECT * FROM `users` ORDER BY `age`, `salary` DESC;
Виды сортировок
ASC
стоит по умолчанию, сортировка от меньшего к большему (0, 1, 2, 3 ..), в случае сортировки слов по алфавиту (А -> Я)DESC
сортировка от большего к меньшему (100, 99, 98 ..), в случае сортировки слов в порядке обратном алфавитному (Я -> А)