В этом учебном пособии вы узнаете, как использовать MariaDB оператор ORDER BY с синтаксисом и примерами.
Описание
MariaDB оператор ORDER BY используется для сортировки записей в вашем наборе результатов.
Синтаксис
Синтаксис оператора ORDER BY в MariaDB:
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];
Параметры или аргументы
- expressions
- Столбцы или вычисления, которые вы хотите получить.
- tables
- Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.
- WHERE conditions
- Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.
- ASC
- Необязательный. Он сортирует результирующий набор в порядке возрастания по expression (по умолчанию, если модификатор не указан).
- DESC
- Необязательный. Он сортирует результирующий набор в порядке убывания по expression.
Примечание
- Если модификатор ASC или DESC не указан в операторе ORDER BY, результаты будут отсортированы по expression в порядке возрастания. Это эквивалентно
ORDER BY expression ASC
.
Пример сортировка без использования атрибута ASC/DESC
В MariaDB вы можете использовать оператор ORDER BY без указания модификатора ASC или DESC. Если этот параметр не задан, по умолчанию используется порядок сортировки ASC, который является возрастающим.
Давайте посмотрим, как использовать оператор ORDER BY без модификатора ASC или DESC. Например:
1 2 3 4 |
SELECT site_id, site_name FROM sites WHERE site_name = 'Google.com' ORDER BY site_id; |
В этом примере ORDER BY будут возвращены поля site_id и site_name из таблицы sites. Результаты будут отсортированы в порядке возрастания по site_id. Этот пример будет эквивалентен следующему примеру ORDER BY:
1 2 3 4 |
SELECT site_id, site_name FROM sites WHERE site_name = 'Google.com' ORDER BY site_id ASC; |
Большинство программистов пропускают атрибут ASC при сортировке в порядке возрастания.
Пример сортировка по убыванию
Далее, давайте посмотрим, как сортировать в порядке убывания, используя предложение ORDER BY в MariaDB.
Например:
1 2 3 4 |
SELECT site_name, server_name FROM sites WHERE site_name = 'Google.com' ORDER BY server_name DESC; |
В этом примере ORDER BY будут возвращены столбцы site_name и server_name из таблицы sites. Результаты будут отсортированы в порядке убывания по server_name.
Пример сортировка по относительной позиции
Вы также можете использовать ORDER BY для сортировки по относительной позиции в наборе результатов, где первое поле в наборе результатов равно 1. Второе поле в наборе результатов равно 2 и т.д.
Например:
1 2 3 4 |
SELECT site_id, site_name FROM sites WHERE site_name = 'Google.com' ORDER BY 2 DESC; |
Этот пример будет возвращать поля site_id и site_name из таблицы sites. Набор результатов будет отсортирован по site_name в порядке убывания, поскольку поле site_name находится в позиции № 2 в наборе результатов. Это было бы эквивалентно следующему примеру ORDER BY:
1 2 3 4 |
SELECT site_id, site_name FROM sites WHERE site_name = 'Google.com' ORDER BY site_name DESC; |
Пример - использование атрибутов ASC и DESC
Например:
1 2 3 4 |
SELECT site_name, server_name FROM sites WHERE site_id < 75 ORDER BY site_name DESC, server_name ASC; |
В этом примере ORDER BY будут возвращены столбцы site_name и server_name из таблицы sites. Результаты будут отсортированы по полю site_name в порядке убывания, а вторичная сортировка - по server_name в порядке возрастания.