ЗАМОВИТИ ЗА в MySQL: Запит DESC & ASC із ПРИКЛАДОМ

Результати сортування

За допомогою команди SELECT результати поверталися в тому ж порядку, в якому записи додавалися до бази даних. Це порядок сортування за замовчуванням. У цьому розділі ми розглянемо, як ми можемо сортувати результати наших запитів. Сортування – це просто перевпорядкування результатів нашого запиту визначеним способом. Сортування може бути виконано в одному стовпці або в кількох стовпцях. Це можна зробити з числами, рядками, а також типами даних дати.

Що таке ORDER BY в MySQL?

MySQL СОРТУВАТИ ЗА використовується в поєднанні із запитом SELECT для впорядкованого сортування даних. The MySQL Речення ORDER BY використовується для сортування наборів результатів запиту в порядку зростання або спадання.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

ТУТ

  • "Оператор SELECT... " це звичайний запит на вибірку
  • ” | « представляє альтернативи
  • “[умова WHERE | ГРУПУВАТИ ЗА `назва_поля`, МАЮЧУ умову” це необов'язкова умова, яка використовується для фільтрації наборів результатів запиту.
  • "СОРТУВАТИ ЗА" виконує сортування набору результатів запиту
  • “[ASC | DESC]" це ключове слово, яке використовується для сортування наборів результатів у порядку зростання або спадання. Примітка ASC використовується за замовчуванням.
  • Що таке ключові слова DESC і ASC?

    Ключові слова DESC і ASCASC - це коротка форма висхідного Ключові слова DESC і ASCMySQL DESC - це скорочена форма для спадання
    Він використовується для сортування результатів запиту зверху вниз. Він використовується для сортування результатів запиту знизу вгору
    Під час роботи з типами даних дати найраніша дата відображається вгорі списку. . Під час роботи з типами дат остання дата відображається вгорі списку.
    Під час роботи з числовими типами даних найнижчі значення відображаються вгорі списку. Під час роботи з числовими типами даних найвищі значення відображаються у верхній частині набору результатів запиту.
    Під час роботи з рядковими типами даних набір результатів запиту сортується від тих, що починаються з літери A до літери Z. Під час роботи з рядковими типами даних набір результатів запиту сортується від тих, що починаються з літери Z, аж до літери A.

    Ключові слова SQL DESC і ASC використовуються разом із оператором SELECT і MySQL ORDER BY пункт.


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

    Ключове слово сортування SQL DESC має такий базовий синтаксис.

    SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

    ТУТ

    • ВИБРАТИ {назви полів | *} FROM tableName(s) це оператор, що містить поля та таблицю(и), з яких потрібно отримати набір результатів.
    • [Умова WHERE] є необов’язковим, але його можна використовувати для фільтрації даних відповідно до заданої умови.
    • СОРТУВАТИ ЗА fieldname(s) є обов’язковим і є полем для сортування. The MySQL Ключове слово DESC вказує, що сортування має відбуватися в порядку спадання.
    • [ОБМЕЖЕННЯ] є необов’язковим, але його можна використовувати для обмеження кількості результатів, що повертаються з набору результатів запиту.

    Приклади:

    Давайте тепер розглянемо практичний приклад –

    SELECT * FROM members;

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

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553


Припустімо, що відділ маркетингу хоче, щоб відомості про учасників були розташовані в порядку зменшення дати народження. Це допоможе їм вчасно привітати з днем ​​народження. Ми можемо отримати зазначений список, виконавши запит, як показано нижче –

SELECT * FROM members ORDER BY date_of_birth DESC;

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

Приклад DESC і ASC

Той самий запит у порядку зростання

ВИБРАТИ * FROM учасників ORDER BY date_of_birth ASC

Приклад DESC і ASC

Примітка: значення NULL означає відсутність значень (не нуль або порожній рядок). Зверніть увагу на те, як вони були відсортовані.

Більше прикладів

Давайте розглянемо наступне сортування SQL за сценарієм, який містить список усіх записів-членів.

SELECT * FROM `members`;

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

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL


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

SELECT * FROM `members` ORDER BY `gender`;
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

«Жіночі» члени відображаються спочатку, а потім «Чоловічі» члени, це відбувається тому, що коли речення ORDER BY DESC використовується без зазначення ASC або MySQL Ключове слово DESC, за замовчуванням, MySQL відсортував набір результатів запиту в порядку зростання.

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

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

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

Приклад DESC і ASC

Стовпець статі за замовчуванням відсортовано за зростанням, тоді як стовпець дати народження явно відсортовано за спаданням

Чому ми можемо використовувати DESC і ASC?

Припустімо, ми хочемо надрукувати історію платежів для члена відеотеки, щоб допомогти відповідати на запити на стійці реєстрації. Чи не було б логічніше друкувати платежі в спадаючому хронологічному порядку, починаючи з останнього платежу до попереднього?

DESC у SQL – це ключове слово, яке стає в нагоді в таких ситуаціях. Ми можемо написати запит, який сортує список у порядку спадання за датою платежу.

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

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

Підсумки

  • Сортування результатів запиту – це перевпорядкування рядків, отриманих із набору результатів запиту, у порядку зростання або спадання.
  • Ключове слово DESC у SQL використовується для сортування набору результатів запиту в порядку спадання.
  • Ключове слово ASC використовується для сортування набору результатів запиту в порядку зростання.
  • І DESC, і ASC працюють у поєднанні з ключовим словом ORDER BY. Їх також можна використовувати в комбінації з іншими ключовими словами, наприклад ДЕ ЗАКЛАД і ОБМЕЖЕННЯ
  • За замовчуванням для ORDER BY, якщо нічого не вказано явно, є ASC.