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

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

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

SELECT *
FROM Products
ORDER BY ProductName

В данном случае строки сортируются по возрастанию значения столбца ProductName:

ORDER BY и сортировка в T-SQL

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

SELECT ProductName, ProductCount * Price AS TotalSum
FROM Products
ORDER BY TotalSum
ORDER BY и сортировка в MS SQL Server 2016

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

SELECT ProductName
FROM Products
ORDER BY ProductName DESC
ORDER BY DESC и сортировка по убыванию в T-SQL

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

SELECT ProductName
FROM Products
ORDER BY ProductName 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
Сортировка по нескольким столбцам в T-SQL

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

SELECT ProductName, Price, ProductCount
FROM Products
ORDER BY ProductCount * Price
Сортировка по сложному выражению в ORDER BY в T-SQL
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850