TELLI BY MySQL-is: DESC & ASC-päring NÄITEGA

Lang L: none (table-of-contents):

Anonim

Tulemuste sorteerimine

Kasutades käsku SELECT, tagastati tulemused samas järjekorras, kui kirjed lisati andmebaasi. See on vaikimisi sorteerimise järjekord. Selles jaotises uurime, kuidas saaksime päringu tulemusi sortida. Sorteerimine on lihtsalt meie päringutulemuste kindlaksmääratud viisil korraldamine. Sorteerida võib ühe veeru või mitme veeruga. Seda saab teha nii arvu, stringide kui ka kuupäeva andmetüüpide kohta.

Mis on MySQL-is ORDER BY?

MySQL ORDER BY kasutatakse koos SELECT päringuga andmete korrektseks sortimiseks. Klauslit MySQL ORDER BY kasutatakse päringu tulemuste komplektide sortimiseks kas kasvavas või kahanevas järjekorras.

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

SIIN

  • "SELECT lause ..." on tavaline valikupäring
  • "|" tähistab alternatiive
  • "[WHERE tingimus | GROUP BY" välja_nimi (s) "HAVING tingimus" on valikuline tingimus, mida kasutatakse päringu tulemuste komplektide filtreerimiseks.
  • "ORDER BY" teostab päringu tulemuste komplekti sorteerimise
  • "[ASC | DESC]" on märksõna, mida kasutatakse tulemuste komplektide sortimiseks kas kasvavas või kahanevas järjekorras. Märkus . Vaikimisi kasutatakse ASC-d .

Mis on DESC ja ASC märksõnad?

ASC on lühike vorm tõusmiseks

MySQL DESC on lühike vorm laskumiseks

Seda kasutatakse päringu tulemuste sortimiseks ülalt alla stiilis.

Seda kasutatakse päringu tulemuste sorteerimiseks alt üles stiilis

Kuupäeva andmetüüpidega töötamisel kuvatakse loendi ülaosas varaseim kuupäev.

. Kuupäevatüüpide töötamisel kuvatakse loendi ülaosas viimane kuupäev.

Numbriliste andmetüüpidega töötamisel kuvatakse loendi ülaosas madalaimad väärtused.

Numbriliste andmetüüpidega töötamisel kuvatakse kõrgeimad väärtused päringu tulemuste komplekti ülaosas.

Stringi andmetüüpidega töötamisel sorteeritakse päringu tulemuste komplekt tähest A algavate tähtedega kuni Z-täheni.

Stringi andmetüüpidega töötamisel sorteeritakse päringu tulemuste komplekt nendest, mis algavad Z-tähega A-täheni.

Nii SQL DESC kui ka ASC märksõnu kasutatakse koos SELECT-lause ja MySQL ORDER BY-klausliga.

DESC ja ASC süntaks

SQL-i DESC sortimismärksõnal on järgmine põhisüntaks.

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

SIIN

  • VALI {väliNimi (d) | *} FROM tableName (s) on lause, mis sisaldab välju ja tabeleid, kust tulemuse saab.
  • [WHERE tingimus] on valikuline, kuid seda saab kasutada andmete filtreerimiseks vastavalt antud tingimusele.
  • Väli ORDER BY (nimed) on kohustuslik ja see on väli, millel sortimine toimub. Märksõna MySQL DESC täpsustab, et sortimine toimub kahanevas järjekorras.
  • [LIMIT] on valikuline, kuid seda saab kasutada päringu tulemuste komplektist tagastatud tulemuste arvu piiramiseks.

Näited:

Vaatame nüüd praktilist näidet -

SELECT * FROM members;

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb vastu annab meile järgmised tulemused.

 
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

Oletame, et turundusosakond soovib, et liikmete andmed oleksid järjestatud sünnikuupäeva kahanevas järjekorras. See aitab neil sünnipäevaõnnitlusi õigeaegselt saata. Nimetatud loendi saame, kui täidame päringu nagu allpool -

SELECT * FROM members ORDER BY date_of_birth DESC;

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb vastu annab meile järgmised tulemused.

Sama päring kasvavas järjekorras

VALI * LIIKMETEST ORDER BY date_of_birth ASC

Märkus. NULL-väärtused ei tähenda väärtusi (mitte nulli või tühja stringi). Jälgige nende sortimise viisi.

Veel näiteid

Vaatleme järgmist skripti, mis loetleb kõik liikmete kirjed.

SELECT * FROM `members`;

Ülaltoodud skripti käivitamine annab järgmised tulemused.

 
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

Oletame, et soovime saada loendi, mis sorteerib päringu tulemuste komplekti väli sugu abil, kasutaksime allpool näidatud skripti.

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

Esmalt on kuvatud "naissoost" liikmed, millele järgnevad "mees" liikmed, seda seetõttu, et kui kasutatakse klauslit ORDER BY DESC, määramata märksõna ASC või MySQL DESC, on MySQL vaikimisi sortinud päringutulemused kasvavas järjekorras.

Vaatame nüüd näidet, mis sorteerib kahe veeru abil ; esimene on järjestatud sisse ülenevas järjestuses vaikimisi samas teises veerus on järjestatud sisse kahanevas järjekorras.

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

Ülaltoodud skripti käivitamine MySQL-i töölaual myflixdb-ga annab järgmised tulemused.

Sugu veerg sorteeriti vaikimisi kasvavas järjekorras, samas kui sünnikuupäeva veerg selgesõnaliselt kahanevas järjekorras

Miks me võime kasutada DESC-d ja ASC-d?

Oletame, et tahame printida videoteegi liikme maksete ajaloo, mis aitab vastuvõtust päringutele vastata, kas poleks loogilisem lasta maksed printida kahanevas kronoloogilises järjekorras, alustades hiljutisest maksest varasemale maksele?

DESC SQL-is on märksõna, mis muutub sellistes olukordades käepäraseks. Saame kirjutada päringu, mis sordib loendi maksekuupäeva järgi kahanevas järjekorras.

Oletame, et turundusosakond soovib saada nimekirja filmidest kategooriate kaupa, mida liikmed saaksid filmide rentimisel otsustada, millised filmid on raamatukogus saadaval, kas poleks loogilisem vaadata filmi kategooriate nimesid ja pealkirju kasvavas järjekorras liikmed saavad loendist teavet kiiresti otsida?

ASC märksõna tuleb sellistes olukordades kasuks; saame filmide loendi järjestada kategooria nime ja filmi pealkirja järgi kasvavas järjekorras.

Kokkuvõte

  • Pärimistulemuste sortimine on päringutulemite komplektist tagastatud ridade ümberkorraldamine kas kasvavas või kahanevas järjekorras.
  • Märksõna DESC SQL-is kasutatakse päringu tulemuste komplekti sortimiseks kahanevas järjekorras.
  • ASC-märksõna kasutatakse päringutulemite komplekti sortimiseks kasvavas järjekorras.
  • Nii DESC kui ka ASC töötavad koos märksõnaga ORDER BY. Neid saab kasutada ka koos teiste märksõnadega, nagu klausel WHERE ja LIMIT
  • Kui midagi pole selgesõnaliselt täpsustatud, on ORDER BY vaikeväärtus ASC.