ZAMÓW PRZEZ w MySQL: Zapytanie DESC i ASC z PRZYKŁADEM

Sortowanie wyników

Za pomocą polecenia SELECT wyniki zostały zwrócone w tej samej kolejności, w jakiej rekordy zostały dodane do bazy danych. Jest to domyślna kolejność sortowania. W tej sekcji przyjrzymy się, jak możemy sortować wyniki zapytań. Sortowanie to po prostu ponowne uporządkowanie wyników zapytania w określony sposób. Sortowanie może odbywać się na pojedynczej kolumnie lub na więcej niż jednej kolumnie. Można to zrobić na typach danych liczbowych, łańcuchowych i datowych.

Co to jest ORDER BY w MySQL?

MySQL ZAMÓW PRZEZ jest używany w połączeniu z zapytaniem SELECT do sortowania danych w uporządkowany sposób. The MySQL Klauzula ORDER BY służy do sortowania wyników zapytania w kolejności rosnącej lub malejącej.

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

TUTAJ

  • "SELECT oświadczenie... " to zwykłe zapytanie wybierające
  • ” | „ reprezentuje alternatywy
  • „[Warunek GDZIE | GRUPUJ WEDŁUG `nazw_pola` POSIADAJĄCY warunek” jest opcjonalnym warunkiem używanym do filtrowania zestawów wyników zapytania.
  • "ZAMÓW PRZEZ" wykonuje sortowanie zestawu wyników zapytania
  • „[ASC | OPIS]” to słowo kluczowe używane do sortowania zestawów wyników w kolejności rosnącej lub malejącej. Notatka ROSNĄCO jest używany domyślnie.
  • Co to są słowa kluczowe DESC i ASC?

    Słowa kluczowe DESC i ASCASC to skrócona forma słowa rosnącego Słowa kluczowe DESC i ASCMySQL DESC to skrót od malejącego
    Służy do sortowania wyników zapytania w stylu od góry do dołu. Służy do sortowania wyników zapytania w stylu od dołu do góry
    Podczas pracy z typami danych typu data najwcześniejsza data jest wyświetlana na górze listy. . Podczas pracy nad typami dat najnowsza data jest wyświetlana na górze listy.
    Podczas pracy z numerycznymi typami danych najniższe wartości są wyświetlane na górze listy. Podczas pracy z numerycznymi typami danych najwyższe wartości są wyświetlane u góry zestawu wyników zapytania.
    Podczas pracy z ciągowymi typami danych zestaw wyników zapytania jest sortowany od tych zaczynających się od litery A aż do litery Z. Podczas pracy z ciągowymi typami danych zestaw wyników zapytania jest sortowany od tych zaczynających się od litery Z i kończących się na literze A.

    Zarówno słowa kluczowe SQL DESC, jak i ASC są używane razem w połączeniu z instrukcją SELECT i MySQL Klauzula ORDER BY.


    Składnia DESC i ASC

    Słowo kluczowe sort SQL DESC ma następującą podstawową składnię.

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

    TUTAJ

    • WYBIERZ {nazwy pól | *} FROM nazwa(-y) tabeli to instrukcja zawierająca pola i tabele, z których można pobrać zestaw wyników.
    • [warunek GDZIE] jest opcjonalny, ale można go użyć do filtrowania danych zgodnie z podanym warunkiem.
    • ZAMÓW PRZEZ nazwa_pola jest obowiązkowa i stanowi pole, według którego ma zostać przeprowadzone sortowanie. The MySQL Słowo kluczowe DESC określa, że ​​sortowanie ma odbywać się w kolejności malejącej.
    • [LIMIT] jest opcjonalny, ale można go użyć do ograniczenia liczby wyników zwracanych ze zbioru wyników zapytania.

    Przykłady:

    Spójrzmy teraz na praktyczny przykład –

    SELECT * FROM members;

    Wykonanie powyższego skryptu w MySQL workbench z myflixdb daje nam następujące wyniki, pokazane poniżej.

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


Załóżmy, że dział marketingu chce, aby dane członków były uporządkowane malejąco według daty urodzenia. Pomoże im to wysyłać życzenia urodzinowe w odpowiednim czasie. Możemy uzyskać wspomnianą listę, wykonując zapytanie takie jak poniżej –

SELECT * FROM members ORDER BY date_of_birth DESC;

Wykonanie powyższego skryptu w MySQL workbench z myflixdb daje nam następujące wyniki, pokazane poniżej.

Przykład DESC i ASC

To samo zapytanie w kolejności rosnącej

WYBIERZ * Z członków ZAMÓW WG daty_urodzenia ASC

Przykład DESC i ASC

Uwaga: Wartości NULL oznaczają brak wartości (nie zero lub pusty ciąg znaków). Zwróć uwagę na sposób ich sortowania.

Więcej przykładów

Rozważmy następujący skrypt SQL sortujący, który wyświetla wszystkie rekordy członkowskie.

SELECT * FROM `members`;

Wykonanie powyższego skryptu daje następujące wyniki.

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


Załóżmy, że chcemy uzyskać listę sortującą zestaw wyników zapytania przy użyciu pola płci. Użylibyśmy skryptu pokazanego poniżej.

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

Najpierw wyświetlani są członkowie „kobiety”, a następnie członkowie „mężczyźni”. Dzieje się tak, ponieważ klauzula ORDER BY DESC jest używana bez określenia ASC lub MySQL Domyślnie słowo kluczowe DESC MySQL posortował zestaw wyników zapytania w kolejności rosnącej.

Spójrzmy teraz na przykład, który wykonuje sortowanie za pomocą dwóch kolumn; pierwszy jest sortowane in rosnąco domyślnie, podczas gdy druga kolumna jest sortowane in Kolejność malejąca.

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

Wykonanie powyższego skryptu w MySQL workbench z myflixdb daje następujące wyniki.

Przykład DESC i ASC

Kolumna płci została domyślnie posortowana w porządku rosnącym, natomiast kolumna daty urodzenia została jawnie posortowana w porządku malejącym

Dlaczego możemy używać DESC i ASC?

Załóżmy, że chcemy wydrukować historię płatności członka biblioteki wideo, aby pomóc w odpowiedzi na zapytania z recepcji. Czy nie byłoby bardziej logiczne wydrukowanie płatności w malejącej kolejności chronologicznej, począwszy od ostatniej płatności do wcześniejszej płatności?

DESC w SQL to słowo kluczowe, które przydaje się w takich sytuacjach. Możemy napisać zapytanie, które posortuje listę w kolejności malejącej według daty płatności.

Załóżmy, że dział marketingu chce uzyskać listę filmów według kategorii, na podstawie której członkowie mogliby zdecydować, które filmy są dostępne w bibliotece podczas wypożyczania filmów. Czy nie byłoby logiczniej posortować nazwy i tytuły kategorii filmów rosnąco, tak aby członkowie mogą szybko wyszukiwać informacje na liście?

W takich sytuacjach przydaje się słowo kluczowe ASC; możemy uzyskać listę filmów posortowaną rosnąco według nazwy kategorii i tytułu filmu.

Podsumowanie

  • Sortowanie wyników zapytania polega na ponownym uporządkowaniu wierszy zwróconych ze zbioru wyników zapytania w kolejności rosnącej lub malejącej.
  • Słowo kluczowe DESC w języku SQL służy do sortowania zestawu wyników zapytania w kolejności malejącej.
  • Słowo kluczowe ASC służy do sortowania zestawu wyników zapytania w kolejności rosnącej.
  • Zarówno DESC, jak i ASC działają w połączeniu ze słowem kluczowym ORDER BY. Można je również stosować w połączeniu z innymi słowami kluczowymi, takimi jak klauzula GDZIE i OGRANICZ
  • Domyślną wartością ORDER BY, gdy nic nie zostało wyraźnie określone, jest ASC.