Сортировка (ORDER BY)

Автор: | 22.12.2021

В будущем нам может потребоваться отсортировать наш выбор — по алфавиту для текста или по возрастанию/убыванию — для числовых значений. Для этих целей в SQL есть специальное предложение ORDER BY .

1. Сортировка выбранных данных.

Сортируем всю таблицу по количеству продаж товара, то есть по столбцу Сумма.

ВЫБРАТЬ * ИЗ суммы продукта СОРТИРОВАТЬ ПО сумме

Мы видим, что запрос отсортировал записи в порядке возрастания в поле Amount. Обязательно соблюдать последовательность операторов, например, предложение ORDER BY должно идти в конец запроса. В противном случае вы получите сообщение об ошибке.

Кроме того, особенность оператора ORDER BY заключается в том, что он может сортировать данные на основе поля, которое мы не выбрали в запросе, то есть оно просто должно быть в базе данных.

2. Сортировка по нескольким полям.

Теперь давайте дополнительно рассортируем наш пример для другого поля. Пусть это будет поле «Город», которое показывает место, где продаются товары.

ВЫБРАТЬ * ИЗ суммы продукта СОРТИРОВАТЬ ПО Количество, Город

Порядок будет зависеть от порядка полей в запросе. То есть в нашем случае данные сначала будут отсортированы по столбцу Amount, а затем по City.

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

Несмотря на то, что по умолчанию оператор ORDER BY упорядочивает по возрастанию, мы также можем записывать отсортированные значения в порядке убывания. Для этого в конце каждого поля мы помещаем оператор DESC (который является сокращением слова DESCENDING).

ВЫБРАТЬ * ИЗ суммы продукта СОРТИРОВАТЬ ПО СУММУ УДАЛ, Город

В этом примере значения в поле «Сумма» отсортированы в порядке убывания, а в поле «Город» — в порядке возрастания. Оператор DESC используется только для одного столбца, поэтому при необходимости его следует писать после каждого поля, участвующего в сортировке.