Сортировка итоговой таблицы

По умолчанию, записи выводимых в таблице данных упорядочиваются так, чтобы это сопровождалось наименьшими издержками с точки зрения траты компьютерных ресурсов. Как правило, порядок вывода связан с физической последовательностью выводимых записей в БД.

При необходимости, можно явно задать способ сортировки записей в таблице. Для этого используется ключевое слово ORDER BY.

Формат использования: ORDER BY <данные для сортировки>, где в качестве данных для сортировки могут использоваться названия полей данных по которым сортируется таблица, либо номера столбцов таблицы выводимой в результате запроса (нумерация столбцов идет с 1). Данные для сортировки перечисляются через запятую.

Допускается выполнять сортировку по полям БД, не выводимым в итоговой таблице. Ключевое слово ORDER BY располагается в запросе после ключевых слов FROM, WHERE, GROUP BY, HAVING.

Сортировка может выполняться как по одному полю, так и по нескольким. При сортировке по нескольким полям, сначала производится сортировка по первому указанному полю, затем - по второму, и т.д.

По умолчанию, сортировка выполняется по возрастанию значений поля, для выполнения сортировки по уменьшению значений, задайте ключевое слово DESC после названия поля сортировки. При сортировке по нескольким полям допускается для части полей сортировка по возрастанию значений, а для части - по уменьшению.

Примеры сортировки данных

Сортировка по одному полю

SELECT area, perimeter FROM Здания ORDER BY Sys

Сортирует итоговую таблицу по значениям поля Sys при том, что поле Sys не выводится в таблице.

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

SELECT area, perimeter FROM Здания
ORDER BY [Количество этажей], Area

Сортирует таблицу сначала по значению поля Количество этажей, а затем - по Area.

Сортировка по столбцу итоговой таблицы

 SELECT area/perimeter FROM Здания
ORDER BY 1 

Сортирует таблицу по первому ее столбцу (частному от деления площадей зданий на их периметры).

Сортировка по убыванию значений

SELECT area, perimeter FROM Здания
ORDER BY Area DESC

Сортирует таблицу по убыванию значения поля Area.

Сортировка по возрастанию и по убыванию значений

SELECT area, perimeter FROM Здания
ORDER BY Area DESC, Sys

Сортирует таблицу по убыванию значения поля Area, записи с равными значениями данного поля сортируются по возрастанию значения поля Sys.