- Ikreiz, kad vēlamies kārtot ierakstus, pamatojoties uz SQL datu bāzes tabulās saglabātajām kolonnām, mēs apsveram SQL klauzulas ORDER BY izmantošanu.
- ORDER BY klauzula SQL palīdz mums kārtot ierakstus, pamatojoties uz konkrēto tabulas kolonnu. Tas nozīmē, ka sākotnēji tiks sakārtotas visas vērtības, kas saglabātas kolonnā, kurai mēs izmantojam klauzulu ORDER BY. Pēc tam atbilstošās kolonnas vērtības tiks parādītas tādā pašā secībā, kādā vērtības, ko esam ieguvuši iepriekšējā darbībā.
- Izmantojot klauzulu ORDER BY, mēs varam kārtot ierakstus augošā vai dilstošā secībā atbilstoši mūsu prasībām. Ieraksti tiks kārtoti augošā secībā ikreiz, kad tiek izmantots ASC atslēgvārds ar ORDER ar klauzulu. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā . Ja aiz kolonnas, pēc kuras mums ir jākārto ieraksti, nav norādīts neviens atslēgvārds, tādā gadījumā kārtošana pēc noklusējuma tiks veikta augošā secībā.
Pirms ierakstu kārtošanas vaicājumu rakstīšanas ļaujiet mums saprast sintaksi.
unix izveidot direktoriju
Sintakse, lai kārtotu ierakstus dilstošā secībā:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Ļaujiet mums izpētīt vairāk par šo tēmu, izmantojot piemērus. Vaicājumu rakstīšanai piemēros izmantosim MySQL datu bāzi.
Apsveriet, ka mums ir klientu tabula ar šādiem ierakstiem:
ID | VĀRDS | VECUMS | ADRESE | ALGA |
---|---|---|---|---|
1 | Himani Gupta | divdesmitviens | Modijs Nagars | 22000 |
2 | Šiva Tivari | 22 | Bopala | 21 000 |
3 | Adžets Bhargavs | Četri | Meerut | 65 000 |
4 | Ritešs Jadavs | 36 | Azamgarh | 26 000 |
5 | Balvants Sings | Četri | Varanasi | 36 000 |
6 | Mahešs Šarma | 26 | Mathura | 22000 |
7 | Rohits Šrivastava | 19 | Ahmedabada | 38 000 |
8 | Neeru Šarma | 29 | Pune | 40 000 |
9 | Akašs Jadavs | 32 | Mumbaja | 43500 |
10 | Sahils Šeihs | 35 | Aurangabad | 68800 |
1. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā secībā pēc klientu tabulā saglabātajiem klientu vārdiem.
Vaicājums:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Šeit SELECT vaicājumā kolonnai “Nosaukums” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
ID | VĀRDS | VECUMS | ADRESE | ALGA |
---|---|---|---|---|
2 | Šiva Tivari | 22 | Bopala | 21 000 |
10 | Sahils Šeihs | 35 | Aurangabad | 68800 |
7 | Rohits Šrivastava | 19 | Ahmedabada | 38 000 |
4 | Ritešs Jadavs | 36 | Azamgarh | 26 000 |
8 | Neeru Šarma | 29 | Pune | 40 000 |
6 | Mahešs Šarma | 26 | Mathura | 22000 |
1 | Himani Gupta | divdesmitviens | Modijs Nagars | 22000 |
5 | Balvants Sings | Četri | Varanasi | 36 000 |
3 | Adžets Bhargavs | Četri | Meerut | 65 000 |
9 | Akašs Jadavs | 32 | Mumbaja | 43500 |
Visi klientu tabulā esošie ieraksti tiek parādīti dilstošā secībā pēc klienta vārda.
2. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā secībā pēc klientu tabulā saglabātajām adresēm.
Vaicājums:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Šeit SELECT vaicājumā kolonnai Adrese tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
ID | VĀRDS | VECUMS | ADRESE | ALGA |
---|---|---|---|---|
5 | Balvants Sings | Četri | Varanasi | 36 000 |
8 | Neeru Šarma | 29 | Pune | 40 000 |
9 | Akašs Jadavs | 32 | Mumbaja | 43500 |
1 | Himani Gupta | divdesmitviens | Modijs Nagars | 22000 |
3 | Adžets Bhargavs | Četri | Meerut | 65 000 |
6 | Mahešs Šarma | 26 | Mathura | 22000 |
2 | Šiva Tivari | 22 | Bopala | 21 000 |
4 | Ritešs Jadavs | 36 | Azamgarh | 26 000 |
10 | Sahils Šeihs | 35 | Aurangabad | 68800 |
7 | Rohits Šrivastava | 19 | Ahmedabada | 38 000 |
Visi klientu tabulā esošie ieraksti tiek parādīti dilstošā secībā pēc klienta adreses.
3. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā secībā pēc klientu tabulā saglabātās klientu algas.
Vaicājums:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Šeit SELECT vaicājumā kolonnai “Alga” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
ID | Vārds | Vecums | Adrese | Alga |
---|---|---|---|---|
10 | Sahils Šeihs | 35 | Aurangabad | 68800 |
3 | Adžets Bhargavs | Četri | Meerut | 65 000 |
9 | Akašs Jadavs | 32 | Mumbaja | 43500 |
8 | Neeru Šarma | 29 | Pune | 40 000 |
7 | Rohits Šrivastava | 19 | Ahmedabada | 38 000 |
5 | Balvants Sings | Četri | Varanasi | 36 000 |
4 | Ritešs Jadavs | 36 | Azamgarh | 26 000 |
6 | Mahešs Šarma | 26 | Mathura | 22000 |
1 | Himani Gupta | divdesmitviens | Modijs Nagars | 22000 |
2 | Šiva Tivari | 22 | Bopala | 21 000 |
Visi klientu tabulā esošie ieraksti tiek parādīti dilstošā klienta algas secībā.
4. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā klientu tabulā saglabātā klienta vecuma secībā.
Vaicājums:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Šeit SELECT vaicājumā slejā “Vecums” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
ID | Vārds | Vecums | Adrese | Alga |
---|---|---|---|---|
3 | Adžets Bhargavs | Četri | Meerut | 65 000 |
5 | Balvants Sings | Četri | Varanasi | 36 000 |
4 | Ritešs Jadavs | 36 | Azamgarh | 26 000 |
10 | Sahils Šeihs | 35 | Aurangabad | 68800 |
9 | Akašs Jadavs | 32 | Mumbaja | 43500 |
8 | Neeru Šarma | 29 | Pune | 40 000 |
6 | Mahešs Šarma | 26 | Mathura | 22000 |
2 | Šiva Tivari | 22 | Bopala | 21 000 |
1 | Himani Gupta | divdesmitviens | Modijs Nagars | 22000 |
7 | Rohits Šrivastava | 19 | Ahmedabada | 38 000 |
Visi klientu tabulā esošie ieraksti tiek parādīti dilstošā secībā pēc klienta vecuma.
Apsveriet, ka mums ir cita tabula ar nosaukumu aģenti ar šādiem ierakstiem:
PALĪDZĪBA | Vārds | Darba zona | Peļņa_procenti | Kontaktpersonas numurs | Alga |
---|---|---|---|---|---|
1 | Gurpīts Sings | Bengalūra | 1 | 9989675432 | 43 000 |
2 | Sakši Kumari | Čennaja | 5 | 8190567342 | 25 000 |
3 | Prači Desai | Mumbaja | 2 | 9056123432 | 60 000 |
4 | Šivani Vairāk | Pune | 3 | 8894236789 | 35500 |
5 | Pallavi Singhs | Deli | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
7 | Shweta teica | Čandigarha | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anuška Tripathi | Uz pirkstiem | 9 | 8909124326 | 38 000 |
10 | Devika Šarma | Goa | 7 | 7864523145 | 44050 |
1. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā secībā pēc aģentu tabulā saglabātajiem aģentu nosaukumiem.
Vaicājums:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Šeit SELECT vaicājumā kolonnai “Nosaukums” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
PALĪDZĪBA | Vārds | Darba zona | Peļņa_procenti | Kontaktpersonas numurs | Alga |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | Shweta teica | Čandigarha | 6 | 8898786453 | 31670 |
4 | Šivani Vairāk | Pune | 3 | 8894236789 | 35500 |
2 | Sakši Kumari | Čennaja | 5 | 8190567342 | 25 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
3 | Prači Desai | Mumbaja | 2 | 9056123432 | 60 000 |
5 | Pallavi Singhs | Deli | 4 | 7798092341 | 38700 |
1 | Gurpīts Sings | Bengalūra | 1 | 9989675432 | 43 000 |
10 | Devika Šarma | Goa | 7 | 7864523145 | 44050 |
9 | Anuška Tripathi | Uz pirkstiem | 9 | 8909124326 | 38 000 |
Visi aģentu tabulā esošie ieraksti tiek parādīti aģenta nosaukuma dilstošā secībā.
2. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus aģentu tabulā saglabātās aģenta algas dilstošā secībā.
Vaicājums:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Šeit SELECT vaicājumā kolonnai “Alga” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
PALĪDZĪBA | Vārds | Darba zona | Peļņa_procenti | Kontaktpersonas numurs | Alga |
---|---|---|---|---|---|
3 | Prači Desai | Mumbaja | 2 | 9056123432 | 60 000 |
10 | Devika Šarma | Goa | 7 | 7864523145 | 44050 |
1 | Gurpīts Sings | Bengalūra | 1 | 9989675432 | 43 000 |
5 | Pallavi Singhs | Deli | 4 | 7798092341 | 38700 |
9 | Anuška Tripathi | Uz pirkstiem | 9 | 8909124326 | 38 000 |
4 | Šivani Vairāk | Pune | 3 | 8894236789 | 35500 |
7 | Shweta teica | Čandigarha | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | Sakši Kumari | Čennaja | 5 | 8190567342 | 25 000 |
Visi aģentu tabulā esošie ieraksti tiek parādīti aģenta algas dilstošā secībā.
3. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā aģentu tabulā saglabātā aģenta darba apgabala secībā.
Vaicājums:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Šeit SELECT vaicājumā kolonnai “Darba apgabals” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
PALĪDZĪBA | Vārds | Darba zona | Peļņa_procenti | Kontaktpersonas numurs | Alga |
---|---|---|---|---|---|
9 | Anuška Tripathi | Uz pirkstiem | 9 | 8909124326 | 38 000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Šivani Vairāk | Pune | 3 | 8894236789 | 35500 |
3 | Prači Desai | Mumbaja | 2 | 9056123432 | 60 000 |
10 | Devika Šarma | Goa | 7 | 7864523145 | 44050 |
5 | Pallavi Singhs | Deli | 4 | 7798092341 | 38700 |
2 | Sakši Kumari | Čennaja | 5 | 8190567342 | 25 000 |
7 | Shweta teica | Čandigarha | 6 | 8898786453 | 31670 |
1 | Gurpīts Sings | Bengalūra | 1 | 9989675432 | 43 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Visi aģentu tabulā esošie ieraksti tiek parādīti aģenta darba apgabala dilstošā secībā.
4. piemērs:
Uzrakstiet vaicājumu, lai kārtotu ierakstus dilstošā secībā pēc aģenta peļņas procentiem, kas saglabāti aģentu tabulā.
Vaicājums:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Šeit SELECT vaicājumā kolonnai “Profit_Percent” tiek lietota klauzula ORDER BY, lai kārtotu ierakstus. Atslēgvārds DESC sakārtos ierakstus dilstošā secībā.
Jūs saņemsiet šādu izvadi:
PALĪDZĪBA | Vārds | Darba zona | Peļņa_procenti | Kontaktpersonas numurs | Alga |
---|---|---|---|---|---|
9 | Anuška Tripathi | Uz pirkstiem | 9 | 8909124326 | 38 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Šarma | Goa | 7 | 7864523145 | 44050 |
7 | Shweta teica | Čandigarha | 6 | 8898786453 | 31670 |
2 | Sakši Kumari | Čennaja | 5 | 8190567342 | 25 000 |
5 | Pallavi Singhs | Deli | 4 | 7798092341 | 38700 |
4 | Šivani Vairāk | Pune | 3 | 8894236789 | 35500 |
3 | Prači Desai | Mumbaja | 2 | 9056123432 | 60 000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpīts Sings | Bengalūra | 1 | 9989675432 | 43 000 |
Visi aģentu tabulā esošie ieraksti tiek parādīti aģenta peļņas procentu dilstošā secībā.