ORDER BY. Сортировка

Последнее обновление: 22.03.2018

Оператор ORDER BY позволяет отсортировать значения по определенному столбцу. Например, упорядочим выборку из таблицы Products по столбцу ProductCount:

SELECT * FROM Products
ORDER BY ProductCount;
order by и сортировка в PostgreSQL

Также можно производить упорядочивание данных по псевдониму столбца, который определяется с помощью оператора AS:

SELECT ProductName, ProductCount * Price AS TotalSum
FROM Products
ORDER BY TotalSum;
Сортировка по производным столбцам в PostgreSQL

В качестве критерия сортировки также можно использовать сложно выражение на основе столбцов:

SELECT ProductName, Price, ProductCount
FROM Products
ORDER BY ProductCount * Price;
Выражения в ORDER BY в PostgreSQL

Сортировка по убыванию

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

SELECT ProductName, Manufacturer
FROM Products
ORDER BY Manufacturer DESC;
Сортировка по убыванию в PostgreSQL

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

SELECT ProductName, Manufacturer
FROM Products
ORDER BY Manufacturer ASC;

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

Если необходимо отсортировать сразу по нескольким столбцам, то все они перечисляются через запятую после оператора ORDER BY:

SELECT ProductName, Price, Manufacturer
FROM Products
ORDER BY Manufacturer, ProductName;

В этом случае сначала строки сортируются по столбцу Manufacturer по возрастанию. Затем если есть две строки, в которых столбец Manufacturer имеет одинаковое значение, то они сортируются по столбцу ProductName также по возрастанию. Но опять же с помощью ASC и DESC можно отдельно для разных столбцов определить сортировку по возрастанию и убыванию:

SELECT ProductName, Price, Manufacturer
FROM Products
ORDER BY Manufacturer ASC, ProductName DESC;
Сортировка по нескольким столбцам в PostgreSQL
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850