Как отсортировать запрос в sql
Перейти к содержимому

Как отсортировать запрос в sql

  • автор:

Оператор ORDER BY в SQL

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

Здесь мы выбираем всех клиентов, а затем сортируем их в порядке возрастания по имени (first_name).

ORDER BY ASC в SQL

Мы можем явно использовать ключевое слово ASC для сортировки выбранных записей в порядке возрастания. Например:

Здесь мы выбираем всех клиентов, а затем сортируем их в порядке возрастания возраста (age).

Примечание: Оператор ORDER BY по умолчанию выполняет сортировку данных в порядке возрастания; нет необходимости явно указывать ASC .

ORDER BY DESC в SQL

Ключевое слово DESC используется для сортировки выбранных записей в порядке убывания. Например:

Здесь мы выбираем всех клиентов, а затем сортируем их в порядке убывания возраста.

ORDER BY с несколькими столбцами

Мы также можем использовать оператор ORDER BY с несколькими столбцами. Например:

Здесь мы выбираем все записи, а затем сортируем их по имени (first_name). Если имена повторяются, то записи сортируем уже по возрасту (age).

ORDER BY с оператором WHERE

Мы также можем использовать оператор ORDER BY с командой SELECT WHERE. Например:

Здесь мы выбираем поля last_name и age из таблицы Customers, в которых в поле country указано НЕ Великобритания (UK). Затем выбранные записи сортируются в порядке убывания по полю last_name.

Примечание: Оператор WHERE должен находиться перед оператором ORDER BY в случае их совместного использования.

Как отсортировать запрос в sql

The ORDER BY statement in SQL is used to sort the fetched data in either ascending or descending according to one or more columns.

  • By default ORDER BY sorts the data in ascending order.
  • We can use the keyword DESC to sort the data in descending order and the keyword ASC to sort in ascending order.

Sort According To One Column

To sort in ascending or descending order we can use the keywords ASC or DESC respectively.

Syntax:

SELECT * FROM table_name ORDER BY column_name ASC | DESC

//Where

table_name: name of the table.

column_name: name of the column according to which the data

is needed to be arranged.

ASC: to sort the data in ascending order.

DESC: to sort the data in descending order.

| : use either ASC or DESC to sort in ascending or descending order//

Sort According To Multiple Columns

To sort in ascending or descending order we can use the keywords ASC or DESC respectively. To sort according to multiple columns, separate the names of columns by the (,) operator.

Syntax:

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC

Query:

Output:

Now consider the above database table and find the results of different queries.

Sort According To a Single Column

In this example, we will fetch all data from the table Student and sort the result in descending order according to the column ROLL_NO.

Query:

Output:

In the above example, if we want to sort in ascending order we have to use ASC in place of DESC.

Sort According To Multiple Columns

In this example, we will fetch all data from the table Student and then sort the result in ascending order first according to the column Age. and then in descending order according to the column ROLL_NO.
Query:

Output:

In the above output, we can see that first the result is sorted in ascending order according to Age. There are multiple rows of having the same Age. Now, sorting further this result-set according to ROLL_NO will sort the rows with the same Age according to ROLL_NO in descending order.

Note:

ASC is the default value for the ORDER BY clause. So, if we don’t specify anything after the column name in the ORDER BY clause, the output will be sorted in ascending order by default.

Take another example of the following query that will give similar output as the above:
Query:

Output:

Sorting By Column Number (instead of name)

An integer that identifies the number of the column in the SelectItems in the underlying query of the SELECT statement. Column number must be greater than 0 and not greater than the number of columns in the result table. In other words, if we want to order by a column, that column must be specified in the SELECT list.

The rule checks for ORDER BY clauses that reference select list columns using the column number instead of the column name. The column numbers in the ORDER BY clause impair the readability of the SQL statement. Further, changing the order of columns in the SELECT list has no impact on the ORDER BY when the columns are referred to by names instead of numbers.

Syntax:

Order by Column_Number asc/desc

Here we take an example to sort a database table according to column 1 i.e Roll_Number. For this a query will be:

Руководство по SQL. Сортировка данных.

Для сортировки данных, получаемых в результате запроса в языке SQL используется ключевое слово ORDER BY. База данных (далее – БД) сортирует данные по указанному параметру по убыванию, либо по возрастанию, в зависимости от условия указанного в запросе (ASC / DESC – соответственно).

Мы также можем использовать более одной колонки при использовании элемента ORDER BY.

Данный запрос имеет следующий общий вид:

Предположим, что у нас есть таблица developers, которая содержит следующие данные:

Допустим, что нам необходимо упорядочить разработчиков по зарплате по возрастанию.
Для этого мы должны использовать следующую команду:

После выполнения данного запроса, мы получим следующий результат:

Или же мы хотим упорядочить разработчиков по имени по возрастанию.
Для этого нам необходимо выполнить следующий запрос:

Полученные результат будет иметь следующий вид:

Мы также можем задать свой собственный прядок сортировки.
Для этого нам необходимо составить следующий запрос:

После выполнения данного запроса мы получим следующий результат:

На этом мы заканчиваем изучение способов сортировки данных, полученных в результате обработки SQL запроса.
В следующей статье мы рассмотрим группировку данных.

SQL ORDER BY

Ключевое слово ORDER BY используется для сортировки результирующего набора в порядке возрастания или убывания.

Ключевое слово ORDER BY по умолчанию сортирует записи в порядке возрастания. Чтобы отсортировать записи в порядке убывания, используйте ключевое слово DESC.

Синтаксис ORDER BY

Демо база данных

Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:

Пример ORDER BY

Следующая инструкция SQL выбирает всех клиентов из таблицы «Customers», отсортированных по столбцу «Country»:

Пример

Пример ORDER BY DESC

Следующая инструкция SQL выбирает всех клиентов из таблицы «Customers», отсортированных по убыванию столбца «Country»:

Пример

Пример ORDER BY несколько столбцов

Следующая инструкция SQL выбирает всех клиентов из таблицы «Customers», отсортированных по столбцу «Country» и «CustomerName». Это означает, что он заказывает по стране, но если некоторые строки имеют одну и ту же страну, он заказывает их по имени клиента:

Пример

Пример 2 ORDER BY несколько столбцов

Следующая инструкция SQL выбирает всех клиентов из таблицы «Customers», отсортированных по возрастанию по столбцу «Country» и по убыванию по столбцу «CustomerName»:

Пример

Мы только что запустили
SchoolsW3 видео

ВЫБОР ЦВЕТА

colorpicker

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:

Ваше предложение:

Спасибо Вам за то, что помогаете!

Ваше сообщение было отправлено в SchoolsW3.

ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат

SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *