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:

pythonquery = "SELECT * FROM users ORDER BY age"

Izpildītā koda rezultāts:

python{'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:

pythonquery = "SELECT * FROM users ORDER BY age DESC"

Izpildītā koda rezultāts:

python{'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:

pythonquery = "SELECT * FROM users WHERE salary=500 ORDER BY age"

Izpildītā koda rezultāts:

python{'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:

pythonquery = "SELECT * FROM users ORDER BY age, salary"

Izpildītā koda rezultāts:

python{'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:

pythonquery = "SELECT * FROM users ORDER BY age LIMIT 3"

Izpildītā koda rezultāts:

python{'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

Задание 1

Iegūstiet visus lietotājus un sakārtojiet tos pēc augošas algas.

Задание 2

Iegūstiet visus lietotājus un sakārtojiet tos pēc dilstošas algas.

Задание 3

Iegūstiet visus lietotājus un sakārtojiet tos pēc vārda.

Задание 4

Iegūstiet lietotājus ar algu 500 un sakārtojiet tos pēc vecuma.

Задание 5

Iegūstiet visus lietotājus un sakārtojiet tos pēc vārda un pēc algas.

Задание 6

Sakārtojiet lietotājus pēc augošas algas un iegūstiet pirmos 3 darbiniekus no kārtošanas rezultāta.

Задание 7

Sakārtojiet lietotājus pēc dilstošas algas un iegūstiet pirmos 3 lietotājus no kārtošanas rezultāta.