Предложение ORDER BY
Предложение ORDER BY в Access сортирует записи, возвращенные запросом, по возрастанию или по убыванию значений указанного поля (полей).
Синтаксис
SELECT список_полей
FROM таблица
WHERE условие_отбора
[ORDER BY поле1 [ASC | DESC ][, поле2 [ASC | DESC ]][, . ]]]
Инструкция SELECT, содержащая предложение ORDER BY, включает в себя следующие элементы:
список_полей
Имена полей, извлекаемых вместе со всеми псевдонимами, агрегатными функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) или с другими параметрами инструкции SELECT.
Имя таблицы, из которой извлекаются записи.
условия_отбора
Условия отбора. Если инструкция содержит предложение WHERE, то ядро СУБД Microsoft Access упорядочит значения после его применения к записям.
поле1, поле2
Имена полей, по которым нужно выполнить сортировку записей.
Замечания
Предложение ORDER BY не является обязательным. Его следует использовать, когда необходимо отобразить данные в отсортированном виде.
По умолчанию применяется порядок сортировки по возрастанию (от А до Я, от 0 до 9). В двух приведенных ниже примерах показана сортировка имен сотрудников по фамилиям.
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName ASC;
Чтобы выполнить сортировку по убыванию (от Я до А, от 9 до 0), добавьте зарезервированное слово DESC в конце каждого поля, по которому вы хотите отсортировать записи. В примере ниже выполняется сортировка фамилий сотрудников в порядке убывания заработной платы.
SELECT LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName;
Если в предложении ORDER BY указать поле, содержащее данные типа Memo или объекты OLE, возникнет ошибка. Ядро СУБД Microsoft Access не поддерживает сортировку по полям этих типов.
Предложение ORDER BY обычно является последним элементом в инструкции SQL.
В предложение ORDER BY можно включать дополнительные поля. Сначала записи сортируются по полю, указанному в предложении ORDER BY первым. Затем для записей с одинаковыми значениями первого поля выполняется сортировка по полю, указанному вторым, и т. д.
отсортировать данные в порядке убывания и возрастания (визуальные инструменты для баз данных)
Результаты запроса можно отсортировать в возрастающем или убывающем порядке по одному или нескольким столбцам результирующего набора с помощью ключевых слов ASC или DESC в предложении ORDER BY.
Порядок сортировки частично определяется параметрами сортировки столбца. Очередность использования параметров сортировки можно изменить в диалоговом окне Параметры сортировки.
Следующая инструкция подразумевает, что в конструкторе запросов и представлений открыт запрос, содержащий предложение ORDER BY для сортировки по одному или нескольким столбцам.
Указание или изменение порядка, в котором будут отсортированы результаты:
- На панели критериевперейдите в поле Тип сортировки , соответствующее сортируемому столбцу.
- Выберите По возрастанию или По убыванию , чтобы указать порядок сортировки для данного столбца.
Обратите внимание, что во время работы с панелью критериев предложение UNION запроса изменяется в соответствии с последними действиями.
При сортировке результатов по нескольким столбцам в столбце «Порядок сортировки» укажите порядок, в котором будут просматриваться столбцы при сортировке. Дополнительные сведения см. в разделе Сортировка по нескольким столбцам в запросах (визуальные инструменты для баз данных).
Как отсортировать по убыванию sql
Оператор ORDER BY позволяет отсортировать извлекаемые значения по определенному столбцу:
SELECT * FROM Products ORDER BY ProductName
В данном случае строки сортируются по возрастанию значения столбца ProductName:
Сортировку также можно проводить по псевдониму столбца, который определяется с помощью оператора AS:
SELECT ProductName, ProductCount * Price AS TotalSum FROM Products ORDER BY TotalSum

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

По умолчанию вместо 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

В качестве критерия сортировки также можно использовать сложно выражение на основе столбцов:
SELECT ProductName, Price, ProductCount FROM Products ORDER BY ProductCount * Price
Оператор SQL ORDER BY
Оператор SQL ORDER BY выполняет сортировку выходных значений. Оператор SQL ORDER BY можно применять как к числовым столбцам, так и к строковым. В последнем случае, сортировка будет происходить по алфавиту.
Оператор SQL ORDER BY имеет следующий синтаксис:
ORDER BY column_name [ASC | DESC]
Сортировка может производиться как по возрастанию, так и по убыванию значений.
- Параметр ASC (по умолчанию) устанавливает порядок сортирования во возрастанию, от меньших значений к большим.
- Параметр DECS устанавливает порядок сортирования по убыванию, от больших значений к меньшим.
Примеры оператора SQL ORDER BY. Имеется следующая таблица Artists:
| Singer | Album | Year | Sale |
| The Prodigy | Invaders Must Die | 2008 | 1200000 |
| Drowning Pool | Sinner | 2001 | 400000 |
| Massive Attack | Mezzanine | 1998 | 2300000 |
| The Prodigy | Fat of the Land | 1997 | 600000 |
| The Prodigy | Music For The Jilted Generation | 1994 | 1500000 |
| Massive Attack | 100th Window | 2003 | 1200000 |
| Drowning Pool | Full Circle | 2007 | 800000 |
| Massive Attack | Danny The Dog | 2004 | 1900000 |
| Drowning Pool | Resilience | 2013 | 500000 |
Пример 1. Вывести все записи таблицы, упорядоченные по названию исполнителя с помощью оператора SQL ORDER BY:
SELECT * FROM Artists ORDER BY Singer
| Singer | Album | Year | Sale |
| Drowning Pool | Sinner | 2001 | 400000 |
| Drowning Pool | Full Circle | 2007 | 800000 |
| Drowning Pool | Resilience | 2013 | 500000 |
| Massive Attack | Mezzanine | 1998 | 2300000 |
| Massive Attack | 100th Window | 2003 | 1200000 |
| Massive Attack | Danny The Dog | 2004 | 1900000 |
| The Prodigy | Invaders Must Die | 2008 | 1200000 |
| The Prodigy | Fat of the Land | 1997 | 600000 |
| The Prodigy | Music For The Jilted Generation | 1994 | 1500000 |
Пример 2. С помощью оператора SQL ORDER BY вывести названия исполнителя, альбома, год выпуска тех альбомов, которые выпущены после 2005 года, упорядоченные по убыванию года:
SELECT Singer, Album, Year FROM Artists WHERE Year > 2005 ORDER BY Year DESC
| Singer | Album | Year |
| Drowning Pool | Resilience | 2013 |
| The Prodigy | Invaders Must Die | 2008 |
| Drowning Pool | Full Circle | 2007 |
