Sortering af poster via SQL-forespørgsel i Python

For at sortere rækkerne i resultatet, skal du bruge kommandoen ORDER BY.

Eksempel

Lad os vælge alle brugere fra vores tabel users og sortere dem efter alder fra mindst til størst:

pythonquery = "SELECT * FROM users ORDER BY age"

Resultatet af den udførte kode:

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}

Eksempel

Lad os ændre sorteringsrækkefølgen ved hjælp af kommandoen DESC:

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

Resultatet af den udførte kode:

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}

Eksempel

Lad os vælge alle brugere med en løn på 500 og sortere dem efter alder fra mindst til størst:

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

Resultatet af den udførte kode:

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}

Eksempel

Du kan sortere efter ikke ét felt, men efter flere. Lad os som et eksempel vælge alle brugere og sortere dem først efter stigende alder, og brugere med samme alder sorterer vi efter stigende løn:

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

Resultatet af den udførte kode:

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}

Eksempel

Kommandoen ORDER BY kan kombineres med LIMIT. I dette tilfælde skal du skrive sorteringskommandoen først og derefter - limit. I det følgende eksempel sorterer vi først posterne efter stigende alder, og derefter tager vi de første 3 stykker:

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

Resultatet af den udførte kode:

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}

Praktiske opgaver

Задание 1

Hent alle brugere og sorter dem efter stigende løn.

Задание 2

Hent alle brugere og sorter dem efter faldende løn.

Задание 3

Hent alle brugere og sorter dem efter navn.

Задание 4

Hent brugere med en løn på 500 og sorter dem efter alder.

Задание 5

Hent alle brugere og sorter dem efter navn og efter løn.

Задание 6

Sorter brugerne efter stigende løn og få de første 3 medarbejdere fra sorteringsresultatet.

Задание 7

Sorter brugerne efter faldende løn og få de første 3 brugere fra sorteringsresultatet.