NAROČI PO v MySQL: DESC & ASC poizvedba z EXAMPLE

Kazalo:

Anonim

Razvrščanje rezultatov

Z ukazom SELECT so bili rezultati vrnjeni v enakem vrstnem redu, kot so bili zapisi dodani v bazo podatkov. To je privzeti vrstni red razvrščanja. V tem poglavju bomo preučili, kako lahko razvrstimo rezultate poizvedb. Razvrščanje je preprosto prerazporeditev rezultatov poizvedbe na določen način. Razvrščanje je mogoče izvesti v enem stolpcu ali v več stolpcih. To je mogoče storiti za številke, nize in datumske tipe podatkov.

Kaj je ORDER BY v MySQL?

MySQL ORDER BY se uporablja skupaj z poizvedbo SELECT za urejeno razvrščanje podatkov. Stavek MySQL ORDER BY se uporablja za razvrščanje nizov poizvedb v naraščajočem ali padajočem vrstnem redu.

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

TUKAJ

  • "Izjava SELECT ..." je običajna poizvedba za izbiro
  • "|" predstavlja alternative
  • "[WHERE pogoj | GROUP BY` ime_polja polja 'HAVING condition " je neobvezen pogoj, ki se uporablja za filtriranje naborov rezultatov poizvedbe.
  • "ORDER BY" izvede razvrščanje nabora rezultatov poizvedbe
  • "[ASC | DESC]" je ključna beseda, ki se uporablja za razvrščanje nizov rezultatov v naraščajočem ali padajočem vrstnem redu. Opomba ASC se uporablja kot privzeta.

Kaj so ključne besede DESC in ASC?

ASC je kratka oblika za naraščanje

MySQL DESC je kratka oblika za spust

Uporablja se za razvrščanje rezultatov poizvedbe po slogu od zgoraj navzdol.

Uporablja se za razvrščanje rezultatov poizvedbe v slogu od spodaj navzgor

Pri obdelavi podatkovnih vrst datumov je na začetku seznama prikazan najzgodnejši datum.

. Pri delu z vrstami datumov je na vrhu seznama prikazan najnovejši datum.

Pri delu s številskimi podatkovnimi vrstami so najnižje vrednosti prikazane na vrhu seznama.

Pri delu s številskimi podatkovnimi vrstami so najvišje vrednosti prikazane na vrhu nabora rezultatov poizvedbe.

Pri delu s podatkovnimi vrstami nizov je nabor rezultatov poizvedbe razvrščen od tistih, ki se začnejo s črko A, ki sega do črke Z.

Pri delu z vrstami podatkov niza je rezultat poizvedbe razvrščen od tistih, ki se začnejo s črko Z, ki se spušča do črke A.

Ključni besedi SQL DESC in ASC se uporabljata skupaj v povezavi s stavkom SELECT in stavkom MySQL ORDER BY.

Sintaksa DESC in ASC

Ključna beseda za razvrščanje SQL DESC ima naslednjo osnovno sintakso.

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

TUKAJ

  • SELECT {poljaName |. | *} FROM tableName (s) je stavek, ki vsebuje polja in tabele (-e), iz katerih je mogoče dobiti rezultat.
  • [WHERE pogoj] ni obvezen, vendar se lahko uporablja za filtriranje podatkov glede na dani pogoj.
  • NAROČI PO Imena polj je obvezno in je polje, na katerem bo izvedeno razvrščanje. Ključna beseda MySQL DESC določa, da mora biti razvrščanje v padajočem vrstnem redu.
  • [LIMIT] ni obvezen, vendar ga lahko uporabite za omejitev števila rezultatov, vrnjenih iz nabora rezultatov poizvedbe.

Primeri:

Poglejmo si zdaj praktični primer -

SELECT * FROM members;

Izvedba zgornjega skripta v delovnem okolju MySQL proti myflixdb nam da naslednje rezultate, prikazane spodaj.

 
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Predpostavimo, da želi služba za marketing podrobnosti o članih razvrščene po padajočem vrstnem redu datuma rojstva. To jim bo pomagalo pravočasno poslati čestitke za rojstni dan. Omenjeni seznam lahko dobimo tako, da izvedemo poizvedbo, kot je spodaj -

SELECT * FROM members ORDER BY date_of_birth DESC;

Izvedba zgornjega skripta v delovnem okolju MySQL proti myflixdb nam da naslednje rezultate, prikazane spodaj.

Ista poizvedba v naraščajočem vrstnem redu

SELECT * FROM members ORDER BY date_of_birth ASC

Opomba: NULL vrednosti pomenijo nobene vrednosti (ne nič ali prazen niz). Opazujte način razvrščanja.

Več primerov

Upoštevajmo naslednji skript, ki navaja vse zapise članov.

SELECT * FROM `members`;

Izvedba zgornjega skripta daje naslednje rezultate, prikazane spodaj.

 
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Recimo, da želimo dobiti seznam, ki razvrsti nabor poizvedb z uporabo polja spola, bi uporabili spodnji skript.

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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Člani »Ženski« so bili najprej prikazani, nato pa »Moški«, ker je pri uporabi stavka ORDER BY DESC brez navedbe ključne besede ASC ali MySQL DESC MySQL privzeto razvrščal nabor poizvedb v naraščajočem vrstnem redu.

Poglejmo si zdaj primer, ki sortiranje opravi v dveh stolpcih ; prvi je razvrščen v naraščajočem vrstnem redu , ki ga privzeto, medtem ko je drugi stolpec razporejene v padajočem vrstnem redu.

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

Izvedba zgornjega skripta v MySQL delovni mizi proti myflixdb daje naslednje rezultate.

Stolpec spola je bil privzeto razvrščen v naraščajočem vrstnem redu, stolpec z datumom rojstva pa izrecno v padajočem vrstnem redu

Zakaj lahko uporabljamo DESC in ASC?

Recimo, da želimo članu videoteke natisniti zgodovino plačil, da bomo lažje odgovarjali na poizvedbe na recepciji, ali ne bi bilo bolj logično, da se plačila natisnejo v padajočem kronološkem vrstnem redu, začenši z nedavnim plačilom do prejšnjega plačila?

DESC v SQL je ključna beseda, ki v takšnih situacijah postane priročna. Lahko napišemo poizvedbo, ki seznam razvrsti po padajočem vrstnem redu z datumom plačila.

Recimo, da želi marketinški oddelek dobiti seznam filmov po kategorijah, s pomočjo katerih se člani lahko odločijo, kateri filmi so na voljo v knjižnici pri najemu filmov, ali ne bi bilo bolj logično, če bi imena in naslove kategorij filmov razvrstili naraščajoče, tako da lahko člani hitro poiščejo podatke s seznama?

Ključna beseda ASC je v takšnih situacijah prav priročna; seznam filmov lahko razvrstimo po imenu kategorije in naslovu filma v naraščajočem vrstnem redu.

Povzetek

  • Razvrščanje rezultatov poizvedbe je prerazporeditev vrstic, vrnjenih iz nabora rezultatov poizvedbe, v naraščajočem ali padajočem vrstnem redu.
  • Ključna beseda DESC v SQL se uporablja za razvrščanje nabora poizvedb v padajočem vrstnem redu.
  • Ključna beseda ASC se uporablja za razvrščanje nabora poizvedb v naraščajočem vrstnem redu.
  • Tako DESC kot ASC delujeta v povezavi s ključno besedo ORDER BY. Uporabljajo se lahko tudi v kombinaciji z drugimi ključnimi besedami, kot sta stavek WHERE in LIMIT
  • Privzeto za ORDER BY, ko ni bilo izrecno določeno nič, je ASC.