PASŪTĪT BY MySQL: DESC & ASC vaicājums ar EXAMPLE

Satura rādītājs:

Anonim

Rezultātu kārtošana

Izmantojot komandu SELECT, rezultāti tika atgriezti tādā pašā secībā, kā ieraksti tika pievienoti datu bāzē. Šī ir noklusējuma kārtošanas kārtība. Šajā sadaļā mēs aplūkosim, kā mēs varam kārtot vaicājumu rezultātus. Kārtošana ir vienkārši pārkārtot mūsu vaicājuma rezultātus noteiktā veidā. Šķirošanu var veikt vienā kolonnā vai vairākās kolonnās. To var izdarīt pēc skaita, virknēm, kā arī datuma datu veidiem.

Kas MySQL ir ORDER BY?

MySQL ORDER BY tiek izmantots kopā ar SELECT vaicājumu, lai kārtotu datus kārtīgi. Klauzula MySQL ORDER BY tiek izmantota, lai kārtotu vaicājuma rezultātu kopas augošā vai dilstošā secībā.

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

ŠEIT

  • "SELECT priekšraksts ..." ir parasts atlases vaicājums
  • "|" apzīmē alternatīvas
  • "[WHERE nosacījums | GROUP BY" lauka_nosaukums (-i) "HAVING nosacījums" ir izvēles nosacījums, ko izmanto, lai filtrētu vaicājuma rezultātu kopas.
  • "ORDER BY" veic vaicājuma rezultātu kopas kārtošanu
  • "[ASC | DESC]" ir atslēgvārds, ko izmanto, lai kārtotu rezultātu kopas augošā vai dilstošā secībā. Piezīme ASC tiek izmantots kā noklusējums.

Kas ir DESC un ASC atslēgvārdi?

ASC ir īsā augšupejošā forma

MySQL DESC ir īsā forma, lai dotos lejup

To izmanto, lai kārtotu vaicājuma rezultātus stilā no augšas uz leju.

To izmanto, lai kārtotu vaicājuma rezultātus stilā no apakšas uz augšu

Strādājot ar datuma datu tipiem, agrākais datums tiek parādīts saraksta augšpusē.

. Strādājot pie datumu veidiem, saraksta augšpusē tiek parādīts pēdējais datums.

Strādājot ar skaitliskiem datu tipiem, zemākās vērtības tiek parādītas saraksta augšpusē.

Strādājot ar skaitliskiem datu tipiem, vislielākās vērtības tiek parādītas vaicājuma rezultātu kopas augšdaļā.

Strādājot ar virkņu datu tipiem, vaicājuma rezultātu kopa tiek sakārtota no tiem, kas sākas ar burtu A līdz burtam Z.

Strādājot ar virkņu datu tipiem, vaicājuma rezultātu kopa tiek sakārtota no tiem, kas sākas ar burtu Z, kas nonāk līdz A burtam.

Gan SQL DESC, gan ASC atslēgvārdi tiek izmantoti kopā ar SELECT teikumu un klauzulu MySQL ORDER BY.

DESC un ASC sintakse

SQL DESC šķirošanas atslēgvārdam ir šāda pamata sintakse.

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

ŠEIT

  • SELECT {fieldName (s) | *} FROM tableName (s) ir paziņojums, kurā ir lauki un tabula (s), no kuras iegūt rezultātu kopu.
  • [WHERE nosacījums] nav obligāts, taču to var izmantot, lai filtrētu datus atbilstoši norādītajam nosacījumam.
  • Lauka nosaukums ORDER BY (-i) ir obligāts (-i), un tas ir lauks, kurā jāveic šķirošana. Atslēgvārds MySQL DESC norāda, ka kārtošanai jābūt dilstošā secībā.
  • [LIMIT] nav obligāts, taču to var izmantot, lai ierobežotu no vaicājuma rezultātu kopas atgriezto rezultātu skaitu.

Piemēri:

Apskatīsim praktisku piemēru -

SELECT * FROM members;

Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod mums šādus rezultātus, kas parādīti zemāk.

 
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

Pieņemsim, ka mārketinga nodaļa vēlas, lai dalībnieku informācija tiktu sakārtota dzimšanas datuma dilstošā secībā. Tas viņiem palīdzēs savlaicīgi nosūtīt apsveikumus dzimšanas dienā. Minēto sarakstu mēs varam iegūt, izpildot šādu vaicājumu:

SELECT * FROM members ORDER BY date_of_birth DESC;

Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod mums šādus rezultātus, kas parādīti zemāk.

Tas pats vaicājums augošā secībā

ATLASIET * NO FOTO biedriem PASŪTĪT PĒC datuma_dzimšanas ASC

Piezīme: NULL vērtības nenozīmē vērtības (ne nulles vai tukšas virknes). Ievērojiet to šķirošanas veidu.

Vairāk piemēru

Apsvērsim šo skriptu, kurā uzskaitīti visi dalībnieku ieraksti.

SELECT * FROM `members`;

Izpildot iepriekš minēto skriptu, tiek parādīti šādi rezultāti, kas parādīti zemāk.

 
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

Pieņemsim, ka mēs vēlamies iegūt sarakstu, kurā tiek sakārtota vaicājuma rezultātu kopa, izmantojot lauku gender, mēs izmantotu tālāk redzamo skriptu.

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

Vispirms tiek parādīti dalībnieki “Sievietes”, kam seko “Vīriešu” locekļi, tas ir tāpēc, ka, ja tiek izmantota klauzula ORDER BY DESC, nenorādot ASC vai MySQL DESC atslēgvārdu, MySQL pēc noklusējuma ir sakārtojis vaicājuma rezultātu kopu augošā secībā.

Tagad aplūkosim piemēru, kas kārto, izmantojot divas kolonnas ; pirmais ir sakārtoti ar augošā secībā pēc noklusējuma, bet otrajā ailē ir sakārtoti ar dilstošā secībā.

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

Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod šādus rezultātus.

Kolonna dzimums pēc noklusējuma tika sakārtota augošā secībā, bet dzimšanas datuma sleja - skaidri dilstošā secībā

Kāpēc mēs varam izmantot DESC un ASC?

Pieņemsim, ka mēs vēlamies izdrukāt video bibliotēkas dalībnieka maksājumu vēsturi, lai palīdzētu atbildēt uz reģistratūras jautājumiem, vai nebūtu loģiskāk, ja maksājumi tiktu drukāti dilstošā hronoloģiskā secībā, sākot ar neseno maksājumu iepriekšējam maksājumam?

DESC SQL ir atslēgvārds, kas šādās situācijās kļūst ērts. Mēs varam uzrakstīt vaicājumu, kas sakārto sarakstu dilstošā secībā, izmantojot maksājuma datumu.

Pieņemsim, ka mārketinga nodaļa vēlas iegūt filmu sarakstu pēc kategorijām, kuras dalībnieki var izmantot, lai izlemtu, kuras filmas ir pieejamas bibliotēkā, īrējot filmas, vai nebūtu loģiskāk meklēt filmu kategoriju nosaukumus un nosaukumus augošā secībā, lai dalībnieki var ātri meklēt informāciju no saraksta?

ASC atslēgvārds noder šādās situācijās; mēs varam iegūt filmu sarakstu sakārtotu pēc kategorijas nosaukuma un filmas nosaukuma augošā secībā.

Kopsavilkums

  • Kārtojot vaicājuma rezultātus, tiek kārtotas rindas, kas atgrieztas no vaicājuma rezultātu kopas augošā vai dilstošā secībā.
  • Atslēgvārds DESC SQL tiek izmantots, lai kārtotu vaicājuma rezultātu kopu dilstošā secībā.
  • ASC atslēgvārds tiek izmantots, lai kārtotu vaicājuma rezultātu kopu augošā secībā.
  • Gan DESC, gan ASC darbojas kopā ar atslēgvārdu ORDER BY. Tos var izmantot arī kopā ar citiem atslēgvārdiem, piemēram, WHERE klauzulu un LIMIT
  • Noklusējums ORDER BY, ja nekas nav skaidri norādīts, ir ASC.