COMANDĂ DE în MySQL: DESC & Interogare ASC cu EXEMPLU

Cuprins:

Anonim

Sortarea rezultatelor

Folosind comanda SELECT, rezultatele au fost returnate în aceeași ordine în care au fost adăugate înregistrările în baza de date. Aceasta este ordinea de sortare implicită. În această secțiune, vom analiza modul în care putem sorta rezultatele interogării noastre. Sortarea înseamnă pur și simplu reorganizarea rezultatelor interogării noastre într-un mod specificat. Sortarea poate fi efectuată pe o singură coloană sau pe mai multe coloane. Se poate face pe număr, șiruri, precum și tipuri de date de dată.

Ce este ORDER BY în MySQL?

MySQL ORDER BY este utilizat împreună cu interogarea SELECT pentru a sorta datele într-un mod ordonat. Clauza MySQL ORDER BY este utilizată pentru a sorta seturile de rezultate ale interogării în ordine crescătoare sau descendentă.

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

AICI

  • „Instrucțiunea SELECT…” este interogarea obișnuită de selectare
  • „|” reprezintă alternative
  • „[WHERE condition | GROUP BY` field_name (s) `HAVING condition” este condiția opțională utilizată pentru a filtra seturile de rezultate ale interogării.
  • „ORDER BY” efectuează sortarea setului de rezultate ale interogării
  • „[ASC | DESC]” este cuvântul cheie folosit pentru sortarea rezultatelor în ordine crescătoare sau descendentă. Notă ASC este folosit ca implicit.

Ce sunt cuvintele cheie DESC și ASC?

ASC este forma scurtă pentru ascendență

MySQL DESC este forma scurtă pentru descendență

Este folosit pentru a sorta rezultatele interogării într-un stil de sus în jos.

Este folosit pentru a sorta rezultatele interogării într-un stil de jos în sus

Când lucrați la tipuri de date, data cea mai timpurie este afișată în partea de sus a listei.

. Când lucrați la tipuri de date, ultima dată este afișată în partea de sus a listei.

Când lucrați cu tipuri de date numerice, cele mai mici valori sunt afișate în partea de sus a listei.

Când lucrați cu tipuri de date numerice, cele mai mari valori sunt afișate în partea de sus a setului de rezultate ale interogării.

Când lucrați cu tipuri de date de șir, setul de rezultate ale interogării este sortat de la cele care încep cu litera A care urcă până la litera Z.

Când lucrați cu tipuri de date de șir, setul de rezultate ale interogării este sortat de la cele începând cu litera Z care merge la litera A.

Ambele cuvinte cheie SQL DESC și ASC sunt utilizate împreună împreună cu instrucțiunea SELECT și clauza MySQL ORDER BY.

Sintaxa DESC și ASC

Cuvântul cheie de sortare SQL DESC are următoarea sintaxă de bază.

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

AICI

  • SELECTAȚI {fieldName (s) | *} FROM tableName (s) este declarația care conține câmpurile și tabelul (tabelele) din care se obține setul de rezultate.
  • [WHERE condition] este opțional, dar poate fi utilizat pentru a filtra datele în funcție de condiția dată.
  • ORDER BY fieldname (s) este obligatoriu și este câmpul pe care urmează să se efectueze sortarea. Cuvântul cheie MySQL DESC specifică faptul că sortarea trebuie să fie în ordine descrescătoare.
  • [LIMIT] este opțional, dar poate fi utilizat pentru a limita numărul de rezultate returnate din setul de rezultate ale interogării.

Exemple:

Să vedem acum un exemplu practic -

SELECT * FROM members;

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate prezentate mai jos.

 
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

Să presupunem că departamentul de marketing dorește ca detaliile membrilor să fie aranjate în ordinea descrescătoare a datei de naștere. Acest lucru îi va ajuta să trimită felicitări de ziua de naștere în timp util. Putem obține lista menționată executând o interogare ca mai jos -

SELECT * FROM members ORDER BY date_of_birth DESC;

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate prezentate mai jos.

Aceeași interogare în ordine crescătoare

SELECTAȚI * DE LA membri ORDINĂ ÎN funcție de data_nasterii ASC

Notă: valorile NULL nu înseamnă valori (nu zero sau șir gol). Observați modul în care au fost sortate.

Mai multe exemple

Să luăm în considerare următorul script care listează toate înregistrările membrilor.

SELECT * FROM `members`;

Executarea scriptului de mai sus oferă următoarele rezultate prezentate mai jos.

 
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

Să presupunem că dorim să obținem o listă care sortează setul de rezultate ale interogării folosind câmpul de gen, am folosi scriptul prezentat mai jos.

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

Membrii „Femei” au fost afișați mai întâi, urmat de membrii „Bărbați”, acest lucru se datorează faptului că atunci când se utilizează clauza ORDER BY DESC fără a specifica cuvântul cheie ASC sau MySQL DESC, în mod implicit, MySQL a sortat rezultatul interogării setat într-o ordine crescătoare.

Să vedem acum un exemplu care face sortarea folosind două coloane ; prima este sortată în ordine crescătoare în mod implicit, în timp ce a doua coloană este sortată în ordine descrescătoare.

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

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb dă următoarele rezultate.

Coloana de gen a fost sortată în ordine crescătoare în mod prestabilit, în timp ce data de naștere a fost ordonată în mod explicit în ordine descendentă

De ce putem folosi DESC și ASC?

Să presupunem că dorim să imprimăm un istoric al plăților pentru un membru al bibliotecii video pentru a ajuta la răspunsul la întrebări de la recepție, nu ar fi mai logic ca plățile să fie tipărite într-o ordine cronologică descendentă începând cu plata recentă până la plata anterioară?

DESC în SQL este un cuvânt cheie care devine la îndemână în astfel de situații. Putem scrie o interogare care sortează lista în ordine descrescătoare folosind data plății.

Să presupunem că departamentul de marketing dorește să obțină o listă de filme pe categorii pe care membrii le pot folosi pentru a decide ce filme sunt disponibile în bibliotecă atunci când închiriați filme, nu ar fi mai logic să arătați sortarea numelor categoriei de film și a titlului în ordine crescătoare, astfel încât membrii pot căuta rapid informațiile din listă?

Cuvântul cheie ASC este util în astfel de situații; putem obține lista filmelor sortate după numele categoriei și titlul filmului într-o ordine crescătoare.

rezumat

  • Sortarea rezultatelor interogării înseamnă reorganizarea rândurilor returnate dintr-un set de rezultate ale interogării, fie în ordine crescătoare, fie descendentă.
  • Cuvântul cheie DESC în SQL, este folosit pentru a sorta rezultatul interogării setat într-o ordine descrescătoare.
  • Cuvântul cheie ASC este folosit pentru a sorta rezultatul interogării setat într-o ordine crescătoare.
  • Atât DESC, cât și ASC funcționează împreună cu cuvântul cheie ORDER BY. De asemenea, pot fi utilizate în combinație cu alte cuvinte cheie, cum ar fi clauza WHERE și LIMIT
  • Valoarea implicită pentru ORDER BY când nimic nu a fost specificat în mod explicit este ASC.