logo

SQL ORDER PODĽA klauzuly SO ZOSTUPNÝM PORADÍM

  • Kedykoľvek chceme zoradiť záznamy podľa stĺpcov uložených v tabuľkách SQL databázy, potom zvažujeme použitie klauzuly ORDER BY v SQL.
  • Klauzula ORDER BY v SQL nám pomáha triediť záznamy na základe konkrétneho stĺpca tabuľky. To znamená, že na začiatku budú zoradené všetky hodnoty uložené v stĺpci, na ktorý aplikujeme klauzulu ORDER BY. Potom sa príslušné hodnoty stĺpcov zobrazia v rovnakom poradí, v akom sú hodnoty, ktoré sme získali v predchádzajúcom kroku.
  • Pomocou klauzuly ORDER BY môžeme záznamy triediť vo vzostupnom alebo zostupnom poradí podľa našej požiadavky. Záznamy budú zoradené vo vzostupnom poradí vždy, keď sa kľúčové slovo ASC použije s klauzulou ORDER by. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí . Ak za stĺpcom nie je zadané žiadne kľúčové slovo, podľa ktorého máme záznamy triediť, tak v takom prípade sa triedenie štandardne vykoná vo vzostupnom poradí.

Pred napísaním dotazov na triedenie záznamov pochopme syntax.

bublinové triedenie v algoritme

Syntax na zoradenie záznamov v zostupnom poradí:

SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC; 

Preskúmajme túto tému viac pomocou príkladov. Na písanie dopytov v príkladoch použijeme databázu MySQL.

Predstavte si, že máme tabuľku zákazníkov s nasledujúcimi záznamami:

ID NÁZOV VEK ADRESA PLAT
1 Himani Gupta dvadsaťjeden Modi Nagar 22 000
2 Shiva Tiwari 22 Bhópál 21 000
3 Ajeet Bhargav Štyri Meerut 65 000
4 Ritesh Yadav 36 Azamgarh 26 000
5 Balwant Singh Štyri Varanasi 36 000
6 Mahesh Sharma 26 Mathura 22 000
7 Rohit Srivastava 19 Ahmedabad 38 000
8 Neeru Sharma 29 Pune 40 000
9 Akash Yadav 32 Bombaj 43500
10 Sahil Sheikh 35 Aurangabad 68800

Príklad 1:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa mien zákazníkov uložených v tabuľke zákazníkov.

Dopyt:

mysql> SELECT *FROM customers ORDER BY Name DESC;

Tu v dotaze SELECT sa na stĺpec „Názov“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

ID NÁZOV VEK ADRESA PLAT
2 Shiva Tiwari 22 Bhópál 21 000
10 Sahil Sheikh 35 Aurangabad 68800
7 Rohit Srivastava 19 Ahmedabad 38 000
4 Ritesh Yadav 36 Azamgarh 26 000
8 Neeru Sharma 29 Pune 40 000
6 Mahesh Sharma 26 Mathura 22 000
1 Himani Gupta dvadsaťjeden Modi Nagar 22 000
5 Balwant Singh Štyri Varanasi 36 000
3 Ajeet Bhargav Štyri Meerut 65 000
9 Akash Yadav 32 Bombaj 43500

Všetky záznamy v tabuľke zákazníkov sú zobrazené v zostupnom poradí podľa mena zákazníka.

Príklad 2:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí adries uložených v tabuľke Zákazníci.

Dopyt:

mysql> SELECT *FROM customers ORDER BY Address DESC;

Tu v dotaze SELECT sa na stĺpec „Adresa“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

ID NÁZOV VEK ADRESA PLAT
5 Balwant Singh Štyri Varanasi 36 000
8 Neeru Sharma 29 Pune 40 000
9 Akash Yadav 32 Bombaj 43500
1 Himani Gupta dvadsaťjeden Modi Nagar 22 000
3 Ajeet Bhargav Štyri Meerut 65 000
6 Mahesh Sharma 26 Mathura 22 000
2 Shiva Tiwari 22 Bhópál 21 000
4 Ritesh Yadav 36 Azamgarh 26 000
10 Sahil Sheikh 35 Aurangabad 68800
7 Rohit Srivastava 19 Ahmedabad 38 000

Všetky záznamy v tabuľke zákazníkov sú zobrazené v zostupnom poradí podľa adresy zákazníka.

Príklad 3:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa mzdy zákazníka uloženej v tabuľke zákazníkov.

Dopyt:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

Tu v dotaze SELECT sa na stĺpec „Plat“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

logika prvého poriadku

Získate nasledujúci výstup:

ID názov Vek Adresa Plat
10 Sahil Sheikh 35 Aurangabad 68800
3 Ajeet Bhargav Štyri Meerut 65 000
9 Akash Yadav 32 Bombaj 43500
8 Neeru Sharma 29 Pune 40 000
7 Rohit Srivastava 19 Ahmedabad 38 000
5 Balwant Singh Štyri Varanasi 36 000
4 Ritesh Yadav 36 Azamgarh 26 000
6 Mahesh Sharma 26 Mathura 22 000
1 Himani Gupta dvadsaťjeden Modi Nagar 22 000
2 Shiva Tiwari 22 Bhópál 21 000

Všetky záznamy v tabuľke zákazníkov sú zobrazené v zostupnom poradí podľa platu zákazníka.

Príklad 4:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa veku zákazníka uloženého v tabuľke zákazníkov.

Dopyt:

mysql> SELECT *FROM customers ORDER BY Age DESC;

Tu v dotaze SELECT sa na stĺpec 'Vek' použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

ID názov Vek Adresa Plat
3 Ajeet Bhargav Štyri Meerut 65 000
5 Balwant Singh Štyri Varanasi 36 000
4 Ritesh Yadav 36 Azamgarh 26 000
10 Sahil Sheikh 35 Aurangabad 68800
9 Akash Yadav 32 Bombaj 43500
8 Neeru Sharma 29 Pune 40 000
6 Mahesh Sharma 26 Mathura 22 000
2 Shiva Tiwari 22 Bhópál 21 000
1 Himani Gupta dvadsaťjeden Modi Nagar 22 000
7 Rohit Srivastava 19 Ahmedabad 38 000

Všetky záznamy v tabuľke zákazníkov sú zobrazené v zostupnom poradí podľa veku zákazníka.

Uvažujme, že máme ďalšiu tabuľku s názvom agenti s nasledujúcimi záznamami:

AID názov Pracovná oblasť Profit_Percent Kontaktné číslo Plat
1 Gurpreet Singh Bangalore 1 9989675432 43 000
2 Sakshi Kumari Chennai 5 8190567342 25 000
3 Prachi Desai Bombaj 2 9056123432 60 000
4 Shivani Viac Pune 3 8894236789 35500
5 Pallavi Singh Dillí 4 7798092341 38700
6 Rohini Kulkarni Ambala 8 7890945612 25670
7 povedala Shweta Čandígarh 6 8898786453 31670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
9 Anushka Tripathi Na prstoch 9 8909124326 38 000
10 Devika Sharma Goa 7 7864523145 44050

Príklad 1:

obsadenie v sql

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa mien agentov uložených v tabuľke agentov.

Dopyt:

mysql> SELECT *FROM agents ORDER BY Name DESC;

Tu v dotaze SELECT sa na stĺpec „Názov“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

AID názov Pracovná oblasť Profit_Percent Kontaktné číslo Plat
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
7 povedala Shweta Čandígarh 6 8898786453 31670
4 Shivani Viac Pune 3 8894236789 35500
2 Sakshi Kumari Chennai 5 8190567342 25 000
6 Rohini Kulkarni Ambala 8 7890945612 25670
3 Prachi Desai Bombaj 2 9056123432 60 000
5 Pallavi Singh Dillí 4 7798092341 38700
1 Gurpreet Singh Bangalore 1 9989675432 43 000
10 Devika Sharma Goa 7 7864523145 44050
9 Anushka Tripathi Na prstoch 9 8909124326 38 000

Všetky záznamy v tabuľke agentov sú zobrazené v zostupnom poradí podľa mena agenta.

Príklad 2:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa platu agenta uloženého v tabuľke agentov.

Dopyt:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

Tu v dotaze SELECT sa na stĺpec „Plat“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

AID názov Pracovná oblasť Profit_Percent Kontaktné číslo Plat
3 Prachi Desai Bombaj 2 9056123432 60 000
10 Devika Sharma Goa 7 7864523145 44050
1 Gurpreet Singh Bangalore 1 9989675432 43 000
5 Pallavi Singh Dillí 4 7798092341 38700
9 Anushka Tripathi Na prstoch 9 8909124326 38 000
4 Shivani Viac Pune 3 8894236789 35500
7 povedala Shweta Čandígarh 6 8898786453 31670
6 Rohini Kulkarni Ambala 8 7890945612 25670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
2 Sakshi Kumari Chennai 5 8190567342 25 000

Všetky záznamy v tabuľke agentov sú zobrazené v zostupnom poradí podľa platu agenta.

Príklad 3:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí pracovnej oblasti agenta uloženej v tabuľke agentov.

Dopyt:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

Tu v dotaze SELECT sa na stĺpec „Pracovná oblasť“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

AID názov Pracovná oblasť Profit_Percent Kontaktné číslo Plat
9 Anushka Tripathi Na prstoch 9 8909124326 38 000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
4 Shivani Viac Pune 3 8894236789 35500
3 Prachi Desai Bombaj 2 9056123432 60 000
10 Devika Sharma Goa 7 7864523145 44050
5 Pallavi Singh Dillí 4 7798092341 38700
2 Sakshi Kumari Chennai 5 8190567342 25 000
7 povedala Shweta Čandígarh 6 8898786453 31670
1 Gurpreet Singh Bangalore 1 9989675432 43 000
6 Rohini Kulkarni Ambala 8 7890945612 25670

Všetky záznamy v tabuľke agentov sú zobrazené v zostupnom poradí pracovnej oblasti agenta.

Príklad 4:

Napíšte dotaz na zoradenie záznamov v zostupnom poradí podľa percenta zisku agenta uloženého v tabuľke agentov.

binárny strom zásielkový prechod

Dopyt:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

Tu v dotaze SELECT sa na stĺpec „Profit_Percent“ použije klauzula ORDER BY na zoradenie záznamov. Kľúčové slovo DESC zoradí záznamy v zostupnom poradí.

Získate nasledujúci výstup:

AID názov Pracovná oblasť Profit_Percent Kontaktné číslo Plat
9 Anushka Tripathi Na prstoch 9 8909124326 38 000
6 Rohini Kulkarni Ambala 8 7890945612 25670
10 Devika Sharma Goa 7 7864523145 44050
7 povedala Shweta Čandígarh 6 8898786453 31670
2 Sakshi Kumari Chennai 5 8190567342 25 000
5 Pallavi Singh Dillí 4 7798092341 38700
4 Shivani Viac Pune 3 8894236789 35500
3 Prachi Desai Bombaj 2 9056123432 60 000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
1 Gurpreet Singh Bangalore 1 9989675432 43 000

Všetky záznamy v tabuľke agentov sú zobrazené v zostupnom poradí podľa percenta zisku agenta.