ORDER BY в MySQL: DESC & ASC

Сортировка результатов

Мы посмотрели, как получить данные из наших таблиц с помощью команды SELECT. Результаты были возвращены в том же порядке, что и записи, добавленные в базу данных. Это порядок сортировки по умолчанию. В этом разделе мы рассмотрим, как мы можем сортировать результаты запроса. Сортировка – это просто переустановка результатов запроса определенным образом . Сортировка может выполняться в одном столбце или в нескольких столбцах. Это можно сделать по числу, строкам, а также по типам данных даты.

Порядок заказа

Предложение order by используется для сортировки наборов результатов запроса в порядке возрастания или убывания. Он используется в сочетании с запросом SELECT. Он имеет следующий базовый синтаксис.

ВОТ

  • “SELECT statement …” – это регулярный запрос выбора
  • “|”  представляет альтернативы
  • “[WHERE condition | GROUP BY field_name (s) HAVING condition” – необязательное условие, используемое для фильтрации наборов результатов запроса.
  • “ORDER BY” выполняет сортировку набора результатов запроса
  • “[ASC | DESC]” – это ключевое слово, используемое для сортировки наборов результатов в порядке возрастания или убывания. Примечание. ASC используется по умолчанию.

Что такое ключевые слова DESC и ASC?

ASC – это короткая форма для восхождения DESC – это короткая форма для нисходящего
Он используется для сортировки результатов запроса в стиле “сверху вниз”. Он используется для сортировки результатов запроса в стиле “снизу вверх”
При работе с типами данных даты самая ранняя дата отображается поверх списка. , При работе с типами даты верхняя часть списка отображается последней.
При работе с числовыми типами данных наименьшие значения отображаются вверху списка. При работе с числовыми типами данных наивысшие значения отображаются в верхней части набора результатов запроса.
При работе со строковыми типами данных набор результатов запроса сортируется от тех, которые начинаются с буквы А, идущей вверх к букве Z. При работе со строковыми типами данных набор результатов запроса сортируется от тех, которые начинаются с буквы Z, идущей вниз к букве A.

 

И ключевые слова DESC и ASC используются вместе в сочетании с инструкцией SELECT и предложением ORDER BY.

Синтаксис DESC и ASC

Ключевое слово сортировки DESC имеет следующий базовый синтаксис.

ВОТ

  • SELECT {fieldName (s) | *} FROM tableName (s) – это оператор, содержащий поля и таблицы (таблицы), из которых следует получить результат.
  • [Условие WHERE] является необязательным, но может использоваться для фильтрации данных в соответствии с данным условием.
  • Имя поля ORDER BY является обязательным и является полем, в котором должна выполняться сортировка. Ключевое слово DESC указывает, что сортировка должна быть в порядке убывания.
  • [LIMIT] является необязательным, но может использоваться для ограничения количества результатов, возвращаемых из набора результатов запроса.

Примеры:

Давайте посмотрим на практический пример –

 

Выполнение приведенного выше сценария в workbench MySQL для myflixdb дает нам следующие результаты, показанные ниже.

 

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rm@tstreet.com
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ
5 Леонард Хофштадтер мужчина НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер мужчина НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Контрапали мужчина НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль мужчина 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц мужчина 24-08-1981 Южный парк PO Box 4563 987786553

 

Предположим, что отдел маркетинга хочет, чтобы детали участников были упорядочены в порядке убывания даты рождения. Это поможет им своевременно отправить поздравления с днем ​​рождения. Мы можем получить указанный список, выполнив запрос, например, ниже –

Выполнение приведенного выше сценария в workbench MySQL для myflixdb дает нам следующие результаты, показанные ниже.

Тот же запрос в порядке возрастания

Примечание. Значения NULL означают значения (не ноль или пустая строка). Наблюдайте за тем, как они были отсортированы.

Дополнительные примеры

Рассмотрим следующий скрипт, в котором перечислены все записи участников.

Выполнение приведенного выше сценария дает следующие результаты, показанные ниже.

 

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rm@tstreet.com
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ
5 Леонард Хофштадтер мужчина НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер мужчина НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Контрапали мужчина НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль мужчина 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц мужчина 24-08-1981 Южный парк PO Box 4563 987786553 НОЛЬ

 

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

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rm@tstreet.com
5 Леонард Хофштадтер мужчина НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер мужчина НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Контрапали мужчина НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль мужчина 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц мужчина 24-08-1981 Южный парк PO Box 4563 987786553 НОЛЬ

 

Сначала отображаются “женские” участники, за которыми следуют члены “Мужчины”, потому что, когда предложение order by используется без указания ключевого слова ASC или DESC, по умолчанию MySQL упорядочивает набор результатов запроса в порядке возрастания.

Давайте теперь рассмотрим пример, который выполняет сортировку с использованием двух столбцов ; первый сортируется по возрастанию по умолчанию, а второй столбец сортируется в порядке убывания.

Выполнение вышеуказанного скрипта в workbench MySQL по сравнению с myflixdb дает следующие результаты.

Столбец по умолчанию сортировался по возрастанию по умолчанию, а столбец даты рождения сортировался в порядке убывания явно

Почему мы можем использовать DESC и ASC?

Предположим, мы хотим распечатать историю платежей для члена видеобиблиотеки, чтобы помочь ответить на запросы из стойки регистрации, не было бы логичнее, чтобы платежи печатались в нисходящем хронологическом порядке, начиная с последнего платежа до более раннего платежа?

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

Предположим, что отдел маркетинга хочет получить список фильмов по категориям, которые участники могут использовать для определения того, какие фильмы доступны в библиотеке при аренде фильмов, не было бы логичнее смотреть сортировку названий и названий категорий фильмов по возрастанию, чтобы члены могут быстро просмотреть информацию из списка?

В таких ситуациях полезно использовать ключевое слово ASC; мы можем получить список фильмов, отсортированный по названию категории и названию фильма в порядке возрастания.

Резюме

  • Сортировка результатов запроса – переупорядочение строк, возвращаемых из набора результатов запроса, в порядке возрастания или убывания.
  • Ключевое слово DESC используется для сортировки набора результатов запроса в порядке убывания.
  • Ключевое слово ASC используется для сортировки набора результатов запроса в порядке возрастания.
  • Оба DESC и ASC работают в сочетании с ключевым словом ORDER BY. Они также могут использоваться в сочетании с другими ключевыми словами, такими как предложение WHERE и LIMIT
  • Значение по умолчанию для ORDER BY, когда ничего явно не указано, – ASC.
0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

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

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