# ORDER BY
(opens new window) , below is an example to return the Id, FName and LName columns in (ascending) LName order:
| Id | FName | LName |
|---|---|---|
| 2 | John | Johnson |
| 1 | James | Smith |
| 4 | Johnathon | Smith |
| 3 | Michael | Williams |
To sort in descending order add the DESC keyword after the field parameter, e.g. the same query in LName descending order is:
# ORDER BY multiple fields
Multiple fields can be specified for the ORDER BY clause, in either ASCending or DESCending order.
(opens new window) table, we can return a query that sorts by SaleDate in ascending order, and Quantity in descending order.
Note that the ASC keyword is optional, and results are sorted in ascending order of a given field by default.
# ORDER BY with complex logic
If we want to order the data differently for per group, we can add a CASE syntax to the ORDER BY . In this example, we want to order employees from Department 1 by last name and employees from Department 2 by salary.
| Id | FName | LName | PhoneNumber | ManagerId | DepartmentId | Salary | HireDate |
|---|---|---|---|---|---|---|---|
| 1 | James | Smith | 1234567890 | NULL | 1 | 1000 | 01-01-2002 |
| 2 | John | Johnson | 2468101214 | 1 | 1 | 400 | 23-03-2005 |
| 3 | Michael | Williams | 1357911131 | 1 | 2 | 600 | 12-05-2009 |
| 4 | Johnathon | Smith | 1212121212 | 2 | 1 | 500 | 24-07-2016 |
| 5 | Sam | Saxon | 1372141312 | 2 | 2 | 400 | 25-03-2015 |
# Custom Ordering
If you want to order by a column using something other than alphabetical/numeric ordering, you can use case to specify the order you want.
order by Group returns:
| Group | Count |
|---|---|
| Not Retired | 6 |
| Retired | 4 |
| Total | 10 |
order by case group when ‘Total’ then 1 when ‘Retired’ then 2 else 3 end returns:
| Group | Count |
|---|---|
| Total | 10 |
| Retired | 4 |
| Not Retired | 6 |
# Remarks
The purpose of the ORDER BY clause is to sort the data returned by a query.
It’s important to note that the order of rows returned by a query is undefined unless there is an ORDER BY clause.
SQL оператор ORDER BY
В этом учебном материале вы узнаете, как использовать SQL оператор ORDER BY с синтаксисом и примерами.
Описание
SQL оператор ORDER BY используется для сортировки записей в наборе результатов запроса SELECT.
Синтаксис
Синтаксис для оператора ORDER BY в SQL.
Параметры или аргумент
Примечание
- Если модификатор ASC или DESC не указан в предложении ORDER BY, результаты будут отсортированы по expressions в порядке возрастания. Это эквивалентно ORDER BY expressions ASC
Пример — сортировка результатов по возрастанию
Чтобы отсортировать результаты в порядке возрастания, вы можете указать атрибут ASC. Если после поля в предложении ORDER BY не указано значение (ASC или DESC), порядок сортировки по умолчанию будет соответствовать возрастающему. Давайте рассмотрим это дальше.
В этом примере у нас есть таблица customers со следующими данными:
SQL DESC
Команда DESC используется для сортировки возвращаемых данных в порядке убывания.
Следующая инструкция SQL выбирает все столбцы из таблицы «Customers», отсортированные по убыванию столбца «CustomerName»:
Пример
Мы только что запустили
SchoolsW3 видео
ВЫБОР ЦВЕТА

Сообщить об ошибке
Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:
Ваше предложение:
Спасибо Вам за то, что помогаете!
Ваше сообщение было отправлено в SchoolsW3.
ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат
SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
Desc в sql что это
При выполнении SELECT запроса, строки по умолчанию возвращаются в неопределённом порядке. Фактический порядок строк в этом случае зависит от плана соединения и сканирования, а также от порядка расположения данных на диске, поэтому полагаться на него нельзя. Для упорядочивания записей используется конструкция ORDER BY .
Где ASC и DESC — направление сортировки:
- ASC — сортировка по возрастанию (по умолчанию)
- DESC — сортировка по убыванию
Для сортировки результатов по двум или более столбцам их следует указывать через запятую.
Данные будут сортироваться по первому столбцу, но в случае если попадаются несколько записей с совпадающими значениями в первом столбце, то они сортируются по второму столбцу. Количество столбцов, по которым можно отсортировать, не ограничено.
Правило сортировки применяется только к тому столбцу, за которым оно следует.
ORDER BY столбец_1, столбец_2 DESC
не то же самое, что
ORDER BY столбец_1 DESC, столбец_2 DESC
Выведем названия авиакомпаний в алфавитном порядке из таблицы Company :
Сортировка строковых данных по возрастанию подразумевает сортировку в лексикографическом (алфавитном) порядке.
| name |
|---|
| Aeroflot |
| air_France |
| British_AW |
| Dale_avia |
| Don_avia |
Выведем информацию о полётах, отсортированную по городу вылета самолёта в порядке возрастания и по городу прибытия в аэропорт в порядке убывания, из таблицы Trip :
| town_from | town_to |
|---|---|
| London | Singapore |
| London | Paris |
| Moscow | Rostov |
| Paris | Rostov |
| Rostov | Vladivostok |
| Rostov | Paris |
| Rostov | Moscow |
| Singapore | London |
| Vladivostok | Rostov |
В данном примере в начале записи сортируются по полю town_from . Затем там, если есть несколько записей с одинаковым значением в поле town_from , то отрабатывает обратная сортировка по полю town_to .