NARUČI U MySQL: DESC & ASC upit s PRIMJEROM

Sadržaj:

Anonim

Sortiranje rezultata

Korištenjem naredbe SELECT rezultati su vraćeni istim redoslijedom kad su zapisi dodani u bazu podataka. Ovo je zadani redoslijed sortiranja. U ovom ćemo odjeljku pogledati kako možemo razvrstati rezultate upita. Sortiranje je jednostavno preuređivanje rezultata našeg upita na određeni način. Sortiranje se može izvesti na jednom stupcu ili na više stupaca. To se može učiniti na brojevima, nizovima kao i tipovima podataka datuma.

Što je ORDER BY u MySQL-u?

MySQL ORDER BY koristi se zajedno s upitom SELECT za uredno sortiranje podataka. Klauzula MySQL ORDER BY koristi se za sortiranje skupova rezultata upita u rastućem ili silaznom redoslijedu.

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

OVDJE

  • "SELECT statement ..." uobičajeni je upit za odabir
  • "|" predstavlja alternative
  • "[WHERE uvjet | GROUP BY` ime_na polja 'HAVING uvjet " je neobavezni uvjet koji se koristi za filtriranje skupova rezultata upita.
  • "ORDER BY" izvodi sortiranje skupa rezultata upita
  • "[ASC | DESC]" je ključna riječ koja se koristi za sortiranje skupova rezultata u uzlaznom ili silaznom redoslijedu. Napomena ASC se koristi kao zadani.

Što su DESC i ASC ključne riječi?

ASC je kratki oblik za uzlazno

MySQL DESC je kratki obrazac za silazak

Koristi se za sortiranje rezultata upita u stilu od vrha do dna.

Koristi se za sortiranje rezultata upita u stilu od dna do vrha

Kada radite na vrstama podataka datuma, najraniji datum prikazan je na vrhu popisa.

. Kada radite na vrstama datuma, najnoviji datum prikazuje se na vrhu popisa.

Pri radu s numeričkim vrstama podataka, najniže vrijednosti prikazane su na vrhu popisa.

Pri radu s numeričkim vrstama podataka, najviše vrijednosti prikazuju se na vrhu skupa rezultata upita.

Kada se radi s vrstama podataka niza, skup rezultata upita se sortira od onih koji počinju slovom A, pa sve do slova Z.

Kada se radi s vrstama podataka niza, skup rezultata upita se sortira od onih koji počinju slovom Z sve do slova A.

I ključne riječi SQL DESC i ASC koriste se zajedno u kombinaciji s naredbom SELECT i klauzulom MySQL ORDER BY.

Sintaksa DESC i ASC

Ključna riječ sortiranja SQL DESC ima sljedeću osnovnu sintaksu.

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

OVDJE

  • ODABERITE {PoljaName |. | *} FROM tableName (s) je izjava koja sadrži polja i tablice (table) iz kojih će se dobiti rezultat.
  • [WHERE uvjet] nije obavezan, ali se može koristiti za filtriranje podataka prema zadanom uvjetu.
  • NARUČI PO Naziv polja (polja) je obavezno i ​​polje je na kojem će se izvršiti sortiranje. Ključna riječ MySQL DESC određuje da sortiranje mora biti u silaznom redoslijedu.
  • [LIMIT] nije obavezno, ali se može koristiti za ograničavanje broja rezultata vraćenih iz skupa rezultata upita.

Primjeri:

Pogledajmo sada praktični primjer -

SELECT * FROM members;

Izvršavanje gornje skripte u MySQL radnom stolu protiv myflixdb daje nam sljedeće rezultate prikazane u nastavku.

 
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

Pretpostavimo da odjel za marketing želi detalje o članovima poredane prema padajućem redoslijedu prema datumu rođenja. To će im pomoći da pravovremeno pošalju čestitke za rođendan. Spomenuti popis možemo dobiti izvršavanjem upita kao u nastavku -

SELECT * FROM members ORDER BY date_of_birth DESC;

Izvršavanje gornje skripte u MySQL radnom stolu protiv myflixdb daje nam sljedeće rezultate prikazane u nastavku.

Isti upit u rastućem redoslijedu

ODABERITE * OD članova NARUČI PO datumu_rođenja ASC

Napomena: NULL vrijednosti znače da nema vrijednosti (ne nula ili prazan niz). Promatrajte način na koji su razvrstani.

Još primjera

Razmotrimo sljedeću skriptu koja navodi sve zapise članova.

SELECT * FROM `members`;

Izvršavanje gornje skripte daje sljedeće rezultate prikazane u nastavku.

 
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

Pretpostavimo da želimo dobiti popis koji sortira skup upita pomoću polja spola, koristili bismo skriptu prikazanu u nastavku.

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

Prvo su prikazani "ženski" članovi, a slijede "muški", jer je to kada se koristi klauzula ORDER BY DESC bez navođenja ključne riječi ASC ili MySQL DESC, prema zadanim postavkama MySQL je sortirao rezultat upita u rastućem redoslijedu.

Pogledajmo sada primjer koji vrši sortiranje pomoću dva stupca ; prvi je razvrstani u uzlaznim redoslijedom po defaultu, dok je drugi stupac razvrstani u silaznom redoslijedu.

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

Izvršavanje gornje skripte u MySQL radnom stolu protiv myflixdb daje sljedeće rezultate.

Stupac spola prema zadanim je postavkama sortiran uzlaznim redoslijedom, dok je stupac datuma rođenja eksplicitno sortiran silaznim redoslijedom

Zašto možemo koristiti DESC i ASC?

Pretpostavimo da želimo ispisati povijest plaćanja za člana videoteke kako bismo pomogli u odgovaranju na upite s recepcije, ne bi li bilo logičnije da se isplate ispisuju silaznim kronološkim redoslijedom počevši od nedavne uplate do ranije uplate?

DESC u SQL-u je ključna riječ koja postaje korisna u takvim situacijama. Možemo napisati upit koji sortira popis u padajućem redoslijedu koristeći datum plaćanja.

Pretpostavimo da marketinški odjel želi dobiti popis filmova po kategorijama koje članovi mogu koristiti za odlučivanje koji će filmovi biti dostupni u knjižnici prilikom iznajmljivanja filmova, ne bi li bilo logičnije pogledati sortiranje imena i naslova kategorija filmova u rastućem članovi mogu brzo potražiti podatke s popisa?

Ključna riječ ASC dobro dođe u takvim situacijama; popis filmova možemo sortirati prema nazivu kategorije i naslovu filma u rastućem redoslijedu.

Sažetak

  • Sortiranje rezultata upita preuređuje redove vraćene iz skupa rezultata upita u uzlaznom ili silaznom redoslijedu.
  • Ključna riječ DESC u SQL-u koristi se za sortiranje rezultata upita u opadajućem redoslijedu.
  • Ključna riječ ASC koristi se za sortiranje rezultata upita u rastućem redoslijedu.
  • I DESC i ASC rade zajedno s ključnom riječi ORDER BY. Također se mogu koristiti u kombinaciji s drugim ključnim riječima kao što su klauzula WHERE i LIMIT
  • Zadana vrijednost za ORDER BY kada ništa nije izričito navedeno je ASC.