PostgreSQL оператор ORDER BY

В этом учебном пособии вы узнаете, как использовать в PostgreSQL оператор ORDER BY с синтаксисом и примерами.

Описание

PostgreSQL оператор ORDER BY используется для сортировки записей в вашем результирующем наборе. ORDER BY можно использовать только в операторе SELECT.

Синтаксис

Синтаксис для предложения ORDER BY в PostgreSQL:

SELECT expressions
FROM tables
[WHERE conditions]
ORDER BY expression [ASC | DESC | USING operator] [NULLS FIRST | NULLS LAST];

Параметры или аргументы

expressions
Столбцы или вычисления, которые вы хотите получить.
tables
Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.
ASC
Необязательный. Он сортирует результирующий набор в порядке возрастания по expression (по умолчанию, если модификатор не указан).
DESC
Необязательный. Он сортирует результирующий набор в порядке убывания по expression.
NULLS FIRST
Необязательный. Если указано, все значения NULL сортируются перед значениями, отличных от NULL, в результирующем наборе.
NULLS LAST
Необязательный. Если указано, все значения NULL сортируются после значений, отличных от NULL, в результирующем наборе.

Примечание

  • Если модификатор ASC или DESC не указан в ORDER BY, результаты будут отсортированы по expression в порядке возрастания. Это эквивалентно ORDER BY expression ASC.

Пример - сортировка без использования атрибута ASC / DESC

PostgreSQL оператор ORDER BY можно использовать без указания модификатора ASC или DESC. Когда этот атрибут опущен в операторе ORDER BY, порядок сортировки по умолчанию устанавливается в ASC (в порядке возрастания).
Например:

Этот пример будет возвращать все записи, отсортированные по полю last_name в порядке возрастания, и будет эквивалентен следующему оператору ORDER BY:

Большинство программистов пропускают атрибут ASC при сортировке в порядке возрастания.

Пример - сортировка по убыванию

При сортировке набора результатов в порядке убывания вы используете атрибут DESC в ORDER BY следующим образом:

В этом PostgreSQL примере ORDER BY будут возвращены все записи, отсортированные по полю last_name в порядке убывания.

Пример - сортировка по относительной позиции

Вы также можете использовать PostgreSQL оператор ORDER BY для сортировки по относительной позиции (порядковой позиции) в результирующем наборе, где первое поле в результирующем наборе равно 1. Следующее поле равно 2 и т.д.
Например:

Этот PostgreSQL ORDER BY будет возвращать все записи, отсортированные по полю city в порядке убывания, поскольку поле city находится в позиции № 3 в результирующем наборе и будет эквивалентно следующему ORDER BY:

Пример - использование атрибутов ASC и DESC

При сортировке набора результатов с помощью PostgreSQL оператора ORDER BY вы можете использовать атрибуты ASC и DESC в одном операторе SELECT.
Например:

Этот PostgreSQL ORDER BY будет возвращать все записи, отсортированные по полю last_name в порядке возрастания, с вторичной сортировкой по first_name в порядке убывания.