TELLI sisse MySQL: DESC & ASC päring koos EXAMPLE'iga
Tulemuste sortimine
Kasutades käsku SELECT, tagastati tulemused samas järjekorras, kui kirjed andmebaasi lisati. See on vaikejärjestus. Selles jaotises vaatleme, kuidas saame oma päringutulemusi sortida. Sorteerimine on lihtsalt meie päringutulemuste kindlal viisil ümberkorraldamine. Sorteerida saab ühe veeru või rohkem kui ühe veeru kohta. Seda saab teha nii numbrite, stringide kui ka kuupäeva andmetüüpidega.
Mis on ORDER BY sisse MySQL?
MySQL TELLI kasutatakse andmete korrektseks sortimiseks koos päringuga SELECT. The MySQL ORDER BY klauslit kasutatakse päringu tulemuste komplektide sortimiseks 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 avaldus... " on tavaline valikupäring
- "| " esindab alternatiive
- “[KUS tingimus | GROUP BY BY „välja_nimi(d)” HAVING tingimus” on valikuline tingimus, mida kasutatakse päringu tulemuste komplektide filtreerimiseks.
- "TELLI" teostab päringu tulemuste komplekti sortimise
- “[ASC | DESC]” on märksõna, mida kasutatakse tulemuste komplektide sortimiseks kas kasvavas või kahanevas järjekorras. Märkus ASC kasutatakse vaikimisi.
- SELECT {fieldName(s) | *} FROM tabelinime(de)st on avaldus, mis sisaldab välju ja tabeleid, millest tulemuste kogum hankida.
- [KUS tingimus] on valikuline, kuid seda saab kasutada andmete filtreerimiseks vastavalt antud tingimusele.
- TELLI väljanimi(d) on kohustuslikud ja on väli, millel tuleb sorteerida. The MySQL DESC märksõna määrab, et sorteerimine peab toimuma kahanevas järjekorras.
- [LIMIT] on valikuline, kuid seda saab kasutada päringu tulemuste komplektist tagastatavate tulemuste arvu piiramiseks.
Mis on DESC ja ASC märksõnad?
ASC on tõusva lühivorm |
MySQL DESC on kahanemise lühivorm |
|---|---|
| Seda kasutatakse päringutulemuste sortimiseks ülalt alla stiilis. | Seda kasutatakse päringutulemuste sorteerimiseks alt üles stiilis |
| Kuupäeva andmetüüpidega töötades kuvatakse loendi ülaosas varaseim kuupäev. | . Kuupäevatüüpidega töötades kuvatakse loendi ülaosas viimane kuupäev. |
| Numbriliste andmetüüpidega töötamisel kuvatakse loendi ülaosas madalaimad väärtused. | Numbriliste andmetüüpidega töötamisel kuvatakse suurimad väärtused päringu tulemuste komplekti ülaosas. |
| Stringi andmetüüpidega töötamisel sorteeritakse päringutulemused A-tähega algavatest tulemustest kuni Z-täheni. | Stringi andmetüüpidega töötamisel sorteeritakse päringutulemused Z-tähega algavatest päringutulemuste komplektist kuni A-täheni. |
Nii SQL DESC kui ka ASC märksõnu kasutatakse koos SELECT-lausega ja MySQL TELLIMINE klausli järgi.
DESC ja ASC süntaks
SQL 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
Näited:
Vaatame nüüd praktilist näidet -
SELECT * FROM members;
Ülaltoodud skripti käivitamine MySQL töölaud myflixdb vastu annab meile järgmised allpool näidatud tulemused.
| membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
|---|---|---|---|---|---|---|---|
| 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 |
Oletame, et turundusosakond soovib, et liikmete andmed oleksid järjestatud sünnikuupäeva kahanevas järjekorras. See aitab neil õigeaegselt sünnipäevatervitusi 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 töölaud myflixdb vastu annab meile järgmised allpool näidatud tulemused.
Sama päring kasvavas järjekorras
SELECT * FROM liikmetest ORDER BY sünnikuupäeva_kuupäeva ASC
Märkus. NULL väärtused tähendavad väärtuste puudumist (mitte nulli ega tühja stringi). Jälgige, kuidas need on sorteeritud.
Veel näiteid
Vaatleme järgmist SQL-i sortimist skripti järgi, mis loetleb kõik liikmekirjed.
SELECT * FROM `members`;
Ülaltoodud skripti käivitamine annab järgmised allpool näidatud tulemused.
| membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
|---|---|---|---|---|---|---|---|
| 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 |
Oletame, et tahame saada loendi, mis sorteerib päringu tulemuste komplekti soovälja 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 | |
|---|---|---|---|---|---|---|---|
| 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 |
Esmalt on kuvatud „naisliikmed“ ja seejärel „meesliikmed“, sest kui ORDER BY DESC klauslit kasutatakse ilma ASC või ASC määramata. MySQL DESC märksõna vaikimisi MySQL on päringu tulemuste komplekti järjestanud kasvavas järjekorras.
Vaatame nüüd näidet, mis teeb sorteerimine kahe veeru abil; esimene on sorteeritud in kasvavas järjekorras vaikimisi, samas kui teine veerg on sorteeritud in kahanevas järjekorras.
SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;
Ülaltoodud skripti käivitamine MySQL tööpink vastu myflixdb annab järgmised tulemused.
Soo veerg sorteeriti vaikimisi kasvavas järjekorras, sünnikuupäeva veerg aga selgesõnaliselt kahanevas järjekorras
Miks me võime kasutada DESC ja ASC?
Oletame, et tahame printida videoteegi liikme maksete ajalugu, et aidata vastuvõtulaualt päringutele vastata, kas poleks loogilisem printida maksed kahanevas kronoloogilises järjekorras, alustades hiljutisest maksest kuni varasema makseni?
DESC SQL-is on märksõna, mis muutub sellistes olukordades kasulikuks. Saame kirjutada päringu, mis sorteerib nimekirja maksekuupäeva järgi kahanevas järjekorras.
Oletame, et turundusosakond soovib saada filmide loendit kategooriate kaupa, mida liikmed saavad kasutada, et otsustada, millised filmid on teegis filmide laenutamisel saadaval, kas poleks loogilisem sorteerida filmikategooriate nimed ja pealkirjad kasvavas järjekorras, et Kas liikmed saavad kiiresti teavet loendist otsida?
ASC märksõna tuleb sellistes olukordades kasuks; saame filmide loendi sorteerida kategooria nime ja filmi pealkirja järgi kasvavas järjekorras.
kokkuvõte
- Päringutulemuste sortimine on päringutulemuste komplektist tagastatud ridade ümberpaigutamine kasvavas või kahanevas järjekorras.
- SQL-is märksõna DESC kasutatakse päringutulemuse sortimiseks kahanevas järjekorras.
- ASC märksõna kasutatakse päringu tulemuste komplekti järjestamiseks 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, näiteks KUS klausel ja LIMIT
- Kui midagi pole selgesõnaliselt määratud, on ORDER BY vaikeväärtus ASC.

ASC on tõusva lühivorm
MySQL DESC on kahanemise lühivorm

