Ierakstu kārtošana ar SQL vaicājumu Python
Lai kārtotu rezultāta rindas,
jāizmanto komanda ORDER
BY.
Piemērs
Izvēlēsimies no mūsu tabulas users visus
lietotājus un sakārtosim tos pēc vecuma no
mazākā uz lielāko:
query = "SELECT * FROM users ORDER BY age"
Izpildītā koda rezultāts:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
Piemērs
Mainīsim kārtošanas secību, izmantojot
komandu DESC:
query = "SELECT * FROM users ORDER BY age DESC"
Izpildītā koda rezultāts:
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Piemērs
Izvēlēsimies visus lietotājus ar algu 500
un sakārtosim tos pēc vecuma no mazākā
uz lielāko:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Izpildītā koda rezultāts:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Piemērs
Var kārtot nevis pēc viena lauka, bet pēc vairākiem. Paraugam izvēlēsimies visus lietotājus un sakārtosim tos vispirms pēc augoša vecuma, bet lietotājus ar vienādiem vecumiem sakārtosim pēc augošas algas:
query = "SELECT * FROM users ORDER BY age, salary"
Izpildītā koda rezultāts:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
Piemērs
Komandu ORDER BY var kombinēt
ar LIMIT. Šajā gadījumā vispirms ir
jāraksta kārtošanas komanda, bet pēc tam - limits.
Nākamajā piemērā vispirms sakārtosim
ierakstus pēc augoša vecuma, tad
paņemsim pirmos 3 ierakstus:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Izpildītā koda rezultāts:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Praktiskie uzdevumi
Iegūstiet visus lietotājus un sakārtojiet tos pēc augošas algas.
Iegūstiet visus lietotājus un sakārtojiet tos pēc dilstošas algas.
Iegūstiet visus lietotājus un sakārtojiet tos pēc vārda.
Iegūstiet lietotājus ar algu 500 un
sakārtojiet tos pēc vecuma.
Iegūstiet visus lietotājus un sakārtojiet tos pēc vārda un pēc algas.
Sakārtojiet lietotājus pēc augošas algas
un iegūstiet pirmos 3 darbiniekus no
kārtošanas rezultāta.
Sakārtojiet lietotājus pēc dilstošas algas
un iegūstiet pirmos 3 lietotājus no
kārtošanas rezultāta.