В будущем нам может понадобиться рассортировать нашу выборку – в алфавитном порядке для текста или по возрастанию/убыванию – для цифровых значений. Для таких целей в SQL имеется специальный оператор ORDER BY.
SQL оператр ORDER BY может производить сортировку как от меньшего к большему, то есть по возрастанию, так и в обратном порядке - от большего к меньшему.
Давайте всю нашу таблицу рассортируем по сумме реализации продукции, а именно по столбцу Amount.
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount
Видим, что запрос рассортировал записи по росту в поле Amount. Обязательно нужно соблюдать последовательность расположения операторов, то есть оператор ORDER BY должен идти в самом конце запроса. В противном случае будет получено сообщение об ошибке.
Также, особенностью оператора ORDER BY является то, что он может сортировать данные по полю, которого мы не выбирали в запросе, то есть достаточно, чтобы оно вообще было в БД.
Теперь посортируем наш пример дополнительно по еще одному полю. Пусть это будет поле City, отображающее место реализации продукции.
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount, City
Очередность сортировки будет зависеть от порядка расположения полей в запросе. То есть, в нашем случае сначала данные будут рассортированы по колонке Amount, а затем по City.
Несмотря на то, что по умолчанию оператор ORDER BY сортирует по возрастанию, мы можем также прописать сортировку значений по убыванию. Для этого в конце каждого поля проставляем оператор DESC (являющийся сокращением от слова DESCENDING).
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount DESC, City
В данном примере, значения в поле Amount были рассортированы по убыванию, а в поле City – по возрастанию. Оператор DESC применяется только для одного столбца, поэтому при необходимости его нужно прописывать после каждого поля, принимающего участие в сортировке.