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

Поділитись

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

1
2
SELECT * FROM Products
ORDER BY Price;
Оператор order by и сортировка в MySQL

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

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

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

1
2
3
SELECT ProductName, Price, ProductCountFROM ProductsORDER BY ProductCount * Price;

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

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

1
2
3
SELECT ProductName,
ProductCountFROM Products
ORDER BY ProductCount DESC;
Сортировка по убыванию в MySQL

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

1
2
3
SELECT ProductName,
ProductCountFROM Products
ORDER BY ProductCount ASC;

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

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

1
2
3
SELECT ProductName, Price, Manufacturer
FROM Products
ORDER BY Manufacturer, ProductName;

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

1
2
3
SELECT ProductName, Price, Manufacturer
FROM Products
ORDER BY Manufacturer ASC, ProductName DESC;
Сортировка по нескольким столбцам в MySQL

Поділитись