Сортировка данных в PostgreSQL работает с использованием предложения ORDER BY. 15 Оно определяет порядок сортировки после того, как запрос выдал таблицу результатов (после обработки списка выборки). 5
Если сортировка не задана, строки возвращаются в неопределённом порядке. 5 Фактический порядок строк в этом случае будет зависеть от плана соединения и сканирования, а также от порядка данных на диске, поэтому полагаться на него нельзя. 5 Определённый порядок выводимых строк гарантируется, только если этап сортировки задан явно. 5
Порядок сортировки определяет предложение ORDER BY: 5
SELECT список_выборки FROM табличное_выражениеORDER BY выражение_сортировки1 [ASC | DESC] [NULLS { FIRST | LAST }] [, выражение_сортировки2 [ASC | DESC] [NULLS { FIRST | LAST }] ...
Выражениями сортировки могут быть любые выражения, допустимые в списке выборки запроса. 5 Например: SELECT a, b FROM table1 ORDER BY a + b, c. 5
Когда указывается несколько выражений, последующие значения позволяют отсортировать строки, в которых совпали все предыдущие значения. 5
Каждое выражение можно дополнить ключевыми словами ASC или DESC, которые выбирают сортировку соответственно по возрастанию или убыванию. 5 По умолчанию принят порядок по возрастанию (ASC). 5
Для определения места значений NULL можно использовать указания NULLS FIRST и NULLS LAST, которые помещают значения NULL соответственно до или после значений не NULL. 5 По умолчанию значения NULL считаются больше любых других, то есть подразумевается NULLS FIRST для порядка DESC и NULLS LAST в противном случае. 5