TILAA BY MySQL: ssä: DESC & ASC-kysely esimerkillä

Sisällysluettelo:

Anonim

Tulosten lajittelu

SELECT-komennon avulla tulokset palautettiin samassa järjestyksessä kuin tietueet lisättiin tietokantaan. Tämä on oletuslajittelujärjestys. Tässä osiossa tarkastelemme, kuinka voimme lajitella kyselytuloksemme. Lajittelu on yksinkertaisesti järjestää kyselytuloksemme uudelleen määritetyllä tavalla. Lajittelu voidaan suorittaa yhdelle sarakkeelle tai useammalle kuin yhdelle sarakkeelle. Se voidaan tehdä numeroiden, merkkijonojen sekä päivämäärätietotyyppien perusteella.

Mikä on ORDER BY MySQL: ssä?

MySQL ORDER BY -toimintoa käytetään SELECT-kyselyn yhteydessä tietojen järjestykseen järjestyksessä. MySQL ORDER BY -lauseketta käytetään lajittelemaan kyselyn tulosjoukot nousevassa tai laskevassa järjestyksessä.

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

TÄSSÄ

  • "SELECT-lause ..." on säännöllinen valintakysely
  • "|" edustaa vaihtoehtoja
  • "[WHERE ehto | GROUP BY" kentän_nimi (t) "HAVING ehto" on valinnainen ehto, jota käytetään suodattamaan kyselyn tulosjoukot.
  • "ORDER BY" suorittaa kyselyn tulosjoukon lajittelun
  • "[ASC | DESC]" on avainsana, jota käytetään lajittelemaan tulosjoukot nousevassa tai laskevassa järjestyksessä. Huomautus ASC: tä käytetään oletuksena.

Mitä ovat DESC- ja ASC-avainsanat?

ASC on lyhyt muoto nousuun

MySQL DESC on lyhyt muoto laskua varten

Sitä käytetään lajittelemaan kyselytulokset ylhäältä alas -tyylille.

Sitä käytetään lajittelemaan kyselytulokset tyylistä alhaalta ylös

Kun työskentelet päivämäärätietotyyppien kanssa, aikaisin päivämäärä näkyy luettelon yläosassa.

. Kun työskentelet päivämäärätyyppien parissa, viimeisin päivämäärä näkyy luettelon yläosassa.

Kun työskentelet numeeristen tietotyyppien kanssa, pienimmät arvot näkyvät luettelon yläosassa.

Kun työskentelet numeeristen tietotyyppien kanssa, korkeimmat arvot näytetään kyselyn tulosjoukon yläosassa.

Kun työskentelet merkkijonotietotyyppien kanssa, kyselyn tulosjoukko lajitellaan kirjaimella A alkavista Z-kirjaimeen saakka.

Kun työskentelet merkkijonotyyppien kanssa, kyselyn tulosjoukko lajitellaan niistä kirjaimista Z alkaen A-kirjaimiin.

Sekä SQL DESC- että ASC-avainsanoja käytetään yhdessä SELECT-lauseen ja MySQL ORDER BY -lausekkeen kanssa.

DESC- ja ASC-syntaksit

SQL DESC -tyyppisellä avainsanalla on seuraava perussyntaksi.

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

TÄSSÄ

  • VALITSE {kentänNimi (t) | *} FROM tableName (s) on käsky, joka sisältää kentät ja taulukot, joista tulos asetetaan.
  • [WHERE condition] on valinnainen, mutta sitä voidaan käyttää tietojen suodattamiseen annetun ehdon mukaan.
  • ORDER BY (kentät) -kenttä (t) on pakollinen ja se on kenttä, jolle lajittelu on suoritettava. MySQL DESC-avainsana määrittää, että lajittelun on oltava laskevassa järjestyksessä.
  • [LIMIT] on valinnainen, mutta sitä voidaan käyttää kyselyn tulosjoukosta palautettujen tulosten määrän rajoittamiseen.

Esimerkkejä:

Katsotaanpa nyt käytännön esimerkkiä -

SELECT * FROM members;

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ​​antaa meille seuraavat tulokset.

 
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

Oletetaan, että markkinointiosasto haluaa jäsenten yksityiskohdat järjestettävän alenevassa järjestyksessä syntymäpäivän mukaan. Tämä auttaa heitä lähettämään syntymäpäivän terveisiä ajoissa. Saamme mainitun luettelon suorittamalla alla olevan kaltaisen kyselyn -

SELECT * FROM members ORDER BY date_of_birth DESC;

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ​​antaa meille seuraavat tulokset.

Sama kysely nousevassa järjestyksessä

VALITSE * FROM-jäsenistä ORDER BY date_of_b_th ASC

Huomaa: NULL-arvot eivät tarkoita arvoja (ei nollaa tai tyhjää merkkijonoa). Huomioi tapa, jolla ne on lajiteltu.

Lisää esimerkkejä

Tarkastellaan seuraavaa komentosarjaa, jossa luetellaan kaikki jäsenetiedot.

SELECT * FROM `members`;

Yllä olevan komentosarjan suorittaminen antaa seuraavat tulokset alla.

 
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

Oletetaan, että haluamme saada luettelon, joka lajittelee kyselyn tulosjoukon sukupuoli-kentän avulla, käytämme alla olevaa komentosarjaa.

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

"Nainen" -jäsenet on näytetty ensin ja niiden jälkeen "Mies" -jäsenet, tämä johtuu siitä, että kun ORDER BY DESC -lauseketta käytetään määrittelemättä ASC- tai MySQL DESC-avainsanaa, oletusarvoisesti MySQL on lajitellut kyselytulosarjan nousevassa järjestyksessä.

Katsotaan nyt esimerkkiä, joka lajittelee kaksi saraketta ; ensimmäinen on lajiteltu vuonna nousevaan järjestykseen oletuksena kun taas toinen sarake on lajiteltu on alenevassa järjestyksessä.

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

Yllä olevan komentosarjan suorittaminen MySQL-työpöydällä myflixdb: tä vastaan ​​antaa seuraavat tulokset.

Sukupuolisarake lajiteltiin oletusarvoisesti nousevassa järjestyksessä, kun taas syntymäpäivä-sarake lajiteltiin nimenomaisesti laskevassa järjestyksessä

Miksi voimme käyttää DESC: tä ja ASC: tä?

Oletetaan, että haluamme tulostaa videokirjaston jäsenen maksuhistorian auttamaan vastaamaan vastaanotosta tuleviin kyselyihin. Eikö olisikaan loogisempaa, että maksut tulostettaisiin alenevassa kronologisessa järjestyksessä alkaen edellisestä maksusta äskettäin?

DESC SQL: ssä on avainsana, josta tulee kätevä tällaisissa tilanteissa. Voimme kirjoittaa kyselyn, joka lajittelee luettelon laskevassa järjestyksessä käyttämällä maksupäivää.

Oletetaan, että markkinointiosasto haluaa saada luettelon elokuvista luokittain, joiden perusteella jäsenet voivat päättää, mitkä elokuvat ovat saatavilla kirjastossa vuokraamalla elokuvia, eikö olisikaan loogisempaa etsiä lajittelun mukaan elokuvaluokkien nimet ja otsikot nousevassa muodossa jäsenet voivat nopeasti etsiä tietoja luettelosta?

ASC-avainsana on hyödyllinen tällaisissa tilanteissa; voimme saada elokuvaluettelon lajiteltu kategorian nimen ja elokuvan nimen mukaan nousevassa järjestyksessä.

Yhteenveto

  • Kyselytulosten lajittelu on kyselytulosarjasta palautettujen rivien järjestäminen uudelleen nousevassa tai laskevassa järjestyksessä.
  • Avainsanaa DESC SQL: ssä käytetään lajittelemaan kyselyn tulosjoukko laskevassa järjestyksessä.
  • ASC-avainsanaa käytetään lajittelemaan kyselytulosarja nousevassa järjestyksessä.
  • Sekä DESC että ASC toimivat yhdessä ORDER BY -avainsanan kanssa. Niitä voidaan käyttää myös yhdessä muiden avainsanojen kanssa, kuten WHERE-lauseke ja LIMIT
  • ORDER BY: n oletusarvo, kun mitään ei ole erikseen määritelty, on ASC.