- Kadarkoli želimo razvrstiti zapise na podlagi stolpcev, shranjenih v tabelah baze podatkov SQL, razmislimo o uporabi klavzule ORDER BY v SQL.
- Klavzula ORDER BY v SQL nam pomaga razvrstiti zapise glede na določen stolpec tabele. To pomeni, da bodo na začetku razvrščene vse vrednosti, shranjene v stolpcu, za katerega uporabljamo klavzulo ORDER BY. Nato bodo ustrezne vrednosti stolpcev prikazane v istem zaporedju kot vrednosti, ki smo jih pridobili v prejšnjem koraku.
- Z uporabo klavzule ORDER BY lahko razvrstimo zapise v naraščajočem ali padajočem vrstnem redu glede na naše zahteve. Zapisi bodo razvrščeni v naraščajočem vrstnem redu, kadar koli je ključna beseda ASC uporabljena s klavzulo ORDER by. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu . Če za stolpcem, na podlagi katerega moramo razvrstiti zapise, ni podana ključna beseda, bo v tem primeru razvrščanje privzeto opravljeno v naraščajočem vrstnem redu.
Preden napišemo poizvedbe za razvrščanje zapisov, poglejmo sintakso.
Sintaksa za razvrščanje zapisov v padajočem vrstnem redu:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Raziščimo več o tej temi s pomočjo primerov. Za pisanje poizvedb v primerih bomo uporabili bazo MySQL.
Recimo, da imamo tabelo strank z naslednjimi zapisi:
ID | IME | STAROST | NASLOV | PLAČA |
---|---|---|---|---|
1 | Himani Gupta | enaindvajset | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
3 | Ajeet Bhargav | Štiri | Meerut | 65000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
5 | Balwant Singh | Štiri | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbaj | 43500 |
10 | Sahil Šejk | 35 | Aurangabad | 68800 |
Primer 1:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu imen strank, shranjenih v tabeli strank.
poizvedba:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu »Ime« za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
ID | IME | STAROST | NASLOV | PLAČA |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
10 | Sahil Šejk | 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 | enaindvajset | Modi Nagar | 22000 |
5 | Balwant Singh | Štiri | Varanasi | 36000 |
3 | Ajeet Bhargav | Štiri | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbaj | 43500 |
Vsi zapisi v tabeli strank so prikazani v padajočem vrstnem redu imena stranke.
Primer 2:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu naslovov, shranjenih v tabeli strank.
poizvedba:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena za stolpec 'Address' za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
ID | IME | STAROST | NASLOV | PLAČA |
---|---|---|---|---|
5 | Balwant Singh | Štiri | Varanasi | 36000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbaj | 43500 |
1 | Himani Gupta | enaindvajset | Modi Nagar | 22000 |
3 | Ajeet Bhargav | Štiri | Meerut | 65000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Šejk | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Vsi zapisi v tabeli strank so prikazani v padajočem vrstnem redu glede na naslov stranke.
Primer 3:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu plače strank, shranjenih v tabeli strank.
poizvedba:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu »Plača« za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
ID | Ime | Starost | Naslov | Plača |
---|---|---|---|---|
10 | Sahil Šejk | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | Štiri | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbaj | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
5 | Balwant Singh | Štiri | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | enaindvajset | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
Vsi zapisi v tabeli strank so prikazani v padajočem vrstnem redu glede na plačo stranke.
Primer 4:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu glede na starost stranke, shranjenih v tabeli strank.
poizvedba:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu 'Starost' za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
ID | Ime | Starost | Naslov | Plača |
---|---|---|---|---|
3 | Ajeet Bhargav | Štiri | Meerut | 65000 |
5 | Balwant Singh | Štiri | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Šejk | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Mumbaj | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
1 | Himani Gupta | enaindvajset | Modi Nagar | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Vsi zapisi v tabeli strank so prikazani v padajočem vrstnem redu glede na starost stranke.
Recimo, da imamo drugo tabelo z imenom agenti z naslednjimi zapisi:
POMOČ | Ime | WorkArea | Profit_Percent | Kontaktna številka | Plača |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
3 | Prachi Desai | Mumbaj | 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 | je rekel Shweta | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anuška Tripathi | Na prste | 9 | 8909124326 | 38000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
Primer 1:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu imen agentov, shranjenih v tabeli agentov.
poizvedba:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu »Ime« za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
POMOČ | Ime | WorkArea | Profit_Percent | Kontaktna številka | Plača |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | je rekel 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 | Mumbaj | 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 | Anuška Tripathi | Na prste | 9 | 8909124326 | 38000 |
Vsi zapisi v tabeli agentov so prikazani v padajočem vrstnem redu imena agenta.
Primer 2:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu plače agenta, shranjenih v tabeli agentov.
poizvedba:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu »Plača« za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
java int za podvojitev
Dobili boste naslednje rezultate:
POMOČ | Ime | WorkArea | Profit_Percent | Kontaktna številka | Plača |
---|---|---|---|---|---|
3 | Prachi Desai | Mumbaj | 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 | Anuška Tripathi | Na prste | 9 | 8909124326 | 38000 |
4 | Shivani More | Pune | 3 | 8894236789 | 35500 |
7 | je rekel 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 |
Vsi zapisi v tabeli agentov so prikazani v padajočem vrstnem redu glede na plačo agenta.
Primer 3:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu agentovega delovnega področja, shranjenega v tabeli agentov.
poizvedba:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu 'WorkArea' za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
POMOČ | Ime | WorkArea | Profit_Percent | Kontaktna številka | Plača |
---|---|---|---|---|---|
9 | Anuška Tripathi | Na prste | 9 | 8909124326 | 38000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Shivani More | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbaj | 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 | je rekel Shweta | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Vsi zapisi v tabeli agentov so prikazani v padajočem vrstnem redu delovnega področja agenta.
Primer 4:
Napišite poizvedbo za razvrščanje zapisov v padajočem vrstnem redu glede na odstotek dobička agenta, shranjenega v tabeli agentov.
poizvedba:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Tukaj v poizvedbi SELECT je klavzula ORDER BY uporabljena v stolpcu 'Profit_Percent' za razvrščanje zapisov. Ključna beseda DESC bo razvrstila zapise v padajočem vrstnem redu.
Dobili boste naslednje rezultate:
POMOČ | Ime | WorkArea | Profit_Percent | Kontaktna številka | Plača |
---|---|---|---|---|---|
9 | Anuška Tripathi | Na prste | 9 | 8909124326 | 38000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
7 | je rekel 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 | Mumbaj | 2 | 9056123432 | 60000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
Vsi zapisi v tabeli agentov so prikazani v padajočem vrstnem redu glede na odstotek dobička agenta.