При включении в список ORDER BY нескольких столбцов, СУБД сортирует строки результата по значениям первого столбца списка, пока не появится несколько строк с одинаковыми значениями данных в этом столбце. Такие строки сортируются по значениям следующего столбца из списка ORDER BY и т.д.
Например, выдать содержимое таблицы Блюда, отсортировав ее строки по видам блюд и основе:
Результат
ID_блюда
Блюдо
Вид
Основа
Вес
Труд
Сметана
Молоко
Творог
Молоко
Салат мясной
Мясо
Мясо с гарниром
Мясо
Салат летний
Овощи
Салат витаминный
Овощи
Салат рыбный
Рыба
Паштет из рыбы
Рыба
Суп молочный
Молоко
Суп харчо
Мясо
…
SELECT *
FROM Блюда
ORDER BY Вид, Основа;
Кроме того, в список ORDER BY можно включать не только имя столбца, а его порядковую позицию в перечне SELECT. Благодаря этому возможно упорядочение результатов на основе вычисляемых столбцов, не имеющих имен.
Например, запрос
SELECT Продукт, ((Белки + Углеводы)*4.1+Жиры*9.3)
FROM Продукты
ORDER BY 2;
Пример 11.
Найти продукт, содержащий наименьшее число калорий