Sortering van rekords via SQL-navraag in Python

Om die rye van die resultaat te sorteer, moet jy die opdrag ORDER BY gebruik.

Voorbeeld

Laat ons alle gebruikers uit ons tabel users kies en hulle sorteer volgens ouderdom van kleinste na grootste:

pythonquery = "SELECT * FROM users ORDER BY age"

Resultaat van die uitgevoerde 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}

Voorbeeld

Laat ons die sorteer volgorde verander met behulp van die opdrag DESC:

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

Resultaat van die uitgevoerde 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}

Voorbeeld

Laat ons alle gebruikers met 'n salaris van 500 kies en hulle sorteer volgens ouderdom van kleinste na grootste:

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

Resultaat van die uitgevoerde 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}

Voorbeeld

Jy kan sorteer volgens meer as een vel. Kom ons kies vir die voorbeeld alle gebruikers en sorteer hulle eers volgens toenemende ouderdom, en gebruikers met dieselfde ouderdomme sorteer ons volgens toenemende salaris:

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

Resultaat van die uitgevoerde 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}

Voorbeeld

Die opdrag ORDER BY kan gekombineer word met LIMIT . In hierdie geval moet jy eers die sorteeropdrag skryf, en dan - die limiet. In die volgende voorbeeld sorteer ons eers die rekords volgens toenemende ouderdom, en dan neem ons die eerste 3 stukke:

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

Resultaat van die uitgevoerde 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}

Praktiese take

Задание 1

Kry alle gebruikers en sorteer hulle volgens toenemende salaris.

Задание 2

Kry alle gebruikers en sorteer hulle volgens afnemende salaris.

Задание 3

Kry alle gebruikers en sorteer hulle volgens naam.

Задание 4

Kry gebruikers met 'n salaris van 500 en sorteer hulle volgens ouderdom.

Задание 5

Kry alle gebruikers en sorteer hulle volgens naam en volgens salaris.

Задание 6

Sorteer gebruikers volgens toenemende salaris en kry die eerste 3 werkers uit die sorteerresultaat.

Задание 7

Sorteer gebruikers volgens afnemende salaris en kry die eerste 3 gebruikers uit die sorteerresultaat.