logo

SQL ORDER BY KLAUZULA S SILAZNIM REDOSLIJEDOM

  • Kad god želimo sortirati zapise na temelju stupaca pohranjenih u tablicama SQL baze podataka, tada razmatramo korištenje klauzule ORDER BY u SQL-u.
  • Klauzula ORDER BY u SQL-u pomaže nam sortirati zapise na temelju određenog stupca tablice. To znači da će u početku sve vrijednosti pohranjene u stupcu na koji primjenjujemo klauzulu ORDER BY biti sortirane. Tada će se odgovarajuće vrijednosti stupaca prikazati u istom nizu u kojem su prikazane vrijednosti koje smo dobili u prethodnom koraku.
  • Koristeći klauzulu ORDER BY, možemo sortirati zapise uzlaznim ili silaznim redoslijedom prema našim zahtjevima. Zapisi će biti poredani uzlaznim redoslijedom kad god se ključna riječ ASC koristi s klauzulom ORDER by. Ključna riječ DESC sortirat će zapise silaznim redoslijedom . Ako iza stupca na temelju kojeg moramo sortirati zapise nije navedena ključna riječ, tada će se u tom slučaju sortiranje vršiti prema zadanim postavkama uzlaznim redoslijedom.

Prije nego što napišemo upite za sortiranje zapisa, shvatimo sintaksu.

Sintaksa za sortiranje zapisa silaznim redoslijedom:

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

Istražimo više o ovoj temi uz pomoć primjera. Koristit ćemo MySQL bazu podataka za pisanje upita u primjerima.

Zamislite da imamo tablicu kupaca sa sljedećim zapisima:

iskaznica IME DOB ADRESA PLAĆA
1 Himani Gupta dvadeset i jedan Modi Nagar 22000
2 Shiva Tiwari 22 Bhopal 21000
3 Ajeet Bhargav Četiri pet Meerut 65000
4 Ritesh Yadav 36 Azamgarh 26000
5 Balwant Singh Četiri pet Varanasi 36000
6 Mahesh Sharma 26 Mathura 22000
7 Rohit Srivastava 19 Ahmedabad 38000
8 Neeru Sharma 29 Pune 40000
9 Akash Yadav 32 Mumbai 43500
10 Sahil Šejh 35 Aurangabad 68800

Primjer 1:

Napišite upit za sortiranje zapisa silaznim redoslijedom imena kupaca pohranjenih u tablici kupaca.

Upit:

mysql> SELECT *FROM customers ORDER BY Name DESC;

Ovdje u SELECT upitu, klauzula ORDER BY se primjenjuje na stupac 'Ime' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

iskaznica IME DOB ADRESA PLAĆA
2 Shiva Tiwari 22 Bhopal 21000
10 Sahil Šejh 35 Aurangabad 68800
7 Rohit Srivastava 19 Ahmedabad 38000
4 Ritesh Yadav 36 Azamgarh 26000
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta dvadeset i jedan Modi Nagar 22000
5 Balwant Singh Četiri pet Varanasi 36000
3 Ajeet Bhargav Četiri pet Meerut 65000
9 Akash Yadav 32 Mumbai 43500

Svi zapisi prisutni u tablici kupaca prikazani su silaznim redoslijedom imena kupaca.

Primjer 2:

Napišite upit za sortiranje zapisa silaznim redoslijedom adresa pohranjenih u tablici kupaca.

Upit:

mysql> SELECT *FROM customers ORDER BY Address DESC;

Ovdje u SELECT upitu, klauzula ORDER BY primjenjuje se na stupac 'Adresa' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

iskaznica IME DOB ADRESA PLAĆA
5 Balwant Singh Četiri pet Varanasi 36000
8 Neeru Sharma 29 Pune 40000
9 Akash Yadav 32 Mumbai 43500
1 Himani Gupta dvadeset i jedan Modi Nagar 22000
3 Ajeet Bhargav Četiri pet Meerut 65000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Šejh 35 Aurangabad 68800
7 Rohit Srivastava 19 Ahmedabad 38000

Svi zapisi prisutni u tablici kupaca prikazuju se silaznim redoslijedom adrese kupca.

Primjer 3:

f-string python

Napišite upit za sortiranje zapisa prema silaznom redoslijedu plaće kupaca pohranjenih u tablici kupaca.

Upit:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

Ovdje u SELECT upitu, klauzula ORDER BY primjenjuje se na stupac 'Plaća' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

iskaznica Ime Dob Adresa Plaća
10 Sahil Šejh 35 Aurangabad 68800
3 Ajeet Bhargav Četiri pet Meerut 65000
9 Akash Yadav 32 Mumbai 43500
8 Neeru Sharma 29 Pune 40000
7 Rohit Srivastava 19 Ahmedabad 38000
5 Balwant Singh Četiri pet Varanasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta dvadeset i jedan Modi Nagar 22000
2 Shiva Tiwari 22 Bhopal 21000

Svi zapisi prisutni u tablici kupaca prikazani su silaznim redoslijedom plaće korisnika.

Primjer 4:

Napišite upit za sortiranje zapisa po silaznom redoslijedu starosti kupca pohranjenih u tablici kupaca.

Upit:

mysql> SELECT *FROM customers ORDER BY Age DESC;

Ovdje u SELECT upitu, klauzula ORDER BY se primjenjuje na stupac 'Dob' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

iskaznica Ime Dob Adresa Plaća
3 Ajeet Bhargav Četiri pet Meerut 65000
5 Balwant Singh Četiri pet Varanasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Šejh 35 Aurangabad 68800
9 Akash Yadav 32 Mumbai 43500
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
1 Himani Gupta dvadeset i jedan Modi Nagar 22000
7 Rohit Srivastava 19 Ahmedabad 38000

Svi zapisi prisutni u tablici kupaca prikazani su silaznim redoslijedom prema dobi korisnika.

Zamislite da imamo drugu tablicu pod nazivom agenti sa sljedećim zapisima:

POMOĆ Ime Radno područje Dobit_postotak Kontakt broj Plaća
1 Gurpreet Singh Bangalore 1 9989675432 43000
2 Sakshi Kumari Chennai 5 8190567342 25000
3 Prachi Desai Mumbai 2 9056123432 60000
4 Shivani More Pune 3 8894236789 35500
5 Pallavi Singh Delhi 4 7798092341 38700
6 Rohini Kulkarni Ambala 8 7890945612 25670
7 rekao je Shweta Chandigarh 6 8898786453 31670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
9 Anushka Tripathi Na prstima 9 8909124326 38000
10 Devika Sharma Goa 7 7864523145 44050

Primjer 1:

Napišite upit za sortiranje zapisa silaznim redoslijedom imena agenata pohranjenih u tablici agenata.

Upit:

mysql> SELECT *FROM agents ORDER BY Name DESC;

Ovdje u SELECT upitu, klauzula ORDER BY se primjenjuje na stupac 'Ime' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

POMOĆ Ime Radno područje Dobit_postotak Kontakt broj Plaća
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
7 rekao je Shweta Chandigarh 6 8898786453 31670
4 Shivani More Pune 3 8894236789 35500
2 Sakshi Kumari Chennai 5 8190567342 25000
6 Rohini Kulkarni Ambala 8 7890945612 25670
3 Prachi Desai Mumbai 2 9056123432 60000
5 Pallavi Singh Delhi 4 7798092341 38700
1 Gurpreet Singh Bangalore 1 9989675432 43000
10 Devika Sharma Goa 7 7864523145 44050
9 Anushka Tripathi Na prstima 9 8909124326 38000

Svi zapisi prisutni u tablici agenata prikazani su silaznim redoslijedom imena agenta.

Primjer 2:

Napišite upit za sortiranje zapisa prema silaznom redoslijedu plaće agenta pohranjenih u tablici agenata.

Upit:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

Ovdje u SELECT upitu, klauzula ORDER BY primjenjuje se na stupac 'Plaća' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

POMOĆ Ime Radno područje Dobit_postotak Kontakt broj Plaća
3 Prachi Desai Mumbai 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
1 Gurpreet Singh Bangalore 1 9989675432 43000
5 Pallavi Singh Delhi 4 7798092341 38700
9 Anushka Tripathi Na prstima 9 8909124326 38000
4 Shivani More Pune 3 8894236789 35500
7 rekao je Shweta Chandigarh 6 8898786453 31670
6 Rohini Kulkarni Ambala 8 7890945612 25670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
2 Sakshi Kumari Chennai 5 8190567342 25000

Svi zapisi prisutni u tablici agenata prikazani su silaznim redoslijedom plaće agenta.

Primjer 3:

Napišite upit za sortiranje zapisa silaznim redoslijedom radnog područja agenta pohranjenih u tablici agenata.

Upit:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

Ovdje u SELECT upitu, klauzula ORDER BY se primjenjuje na stupac 'WorkArea' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

POMOĆ Ime Radno područje Dobit_postotak Kontakt broj Plaća
9 Anushka Tripathi Na prstima 9 8909124326 38000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
4 Shivani More Pune 3 8894236789 35500
3 Prachi Desai Mumbai 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
5 Pallavi Singh Delhi 4 7798092341 38700
2 Sakshi Kumari Chennai 5 8190567342 25000
7 rekao je Shweta Chandigarh 6 8898786453 31670
1 Gurpreet Singh Bangalore 1 9989675432 43000
6 Rohini Kulkarni Ambala 8 7890945612 25670

Svi zapisi prisutni u tablici agenata prikazani su silaznim redoslijedom radnog područja agenta.

Primjer 4:

Napišite upit za sortiranje zapisa prema silaznom redoslijedu postotka profita agenta pohranjenih u tablici agenata.

Upit:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

Ovdje u SELECT upitu, klauzula ORDER BY primjenjuje se na stupac 'Profit_Percent' za sortiranje zapisa. Ključna riječ DESC sortirat će zapise silaznim redoslijedom.

Dobit ćete sljedeći izlaz:

POMOĆ Ime Radno područje Dobit_postotak Kontakt broj Plaća
9 Anushka Tripathi Na prstima 9 8909124326 38000
6 Rohini Kulkarni Ambala 8 7890945612 25670
10 Devika Sharma Goa 7 7864523145 44050
7 rekao je Shweta Chandigarh 6 8898786453 31670
2 Sakshi Kumari Chennai 5 8190567342 25000
5 Pallavi Singh Delhi 4 7798092341 38700
4 Shivani More Pune 3 8894236789 35500
3 Prachi Desai Mumbai 2 9056123432 60000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
1 Gurpreet Singh Bangalore 1 9989675432 43000

Svi zapisi prisutni u tablici agenata prikazani su silaznim redoslijedom postotka profita agenta.