Upangaji wa Rekodi Kupitia Swala la SQL katika Python

Ili kupanga safu za matokeo, unahitaji kutumia amri ORDER BY.

Mfano

Wacha tuchague watumiaji wote kutoka kwa jedwali letu users na tuwaungee kulingana na umri kutoka kwa mdogo hadi mkubwa:

pythonquery = "SELECT * FROM users ORDER BY age"

Matokeo ya msimbo uliofanyika:

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}

Mfano

Wacha tubadilishe mpangilio wa upangaji kwa kutumia amri DESC:

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

Matokeo ya msimbo uliofanyika:

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}

Mfano

Wacha tuchague watumiaji wote walio na mshahara 500 na tuwaungee kulingana na umri kutoka mdogo hadi mkubwa:

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

Matokeo ya msimbo uliofanyika:

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}

Mfano

Inawezekana kupanga si kwa uga mmoja tu, bali kwa kadhaa. Hebu tuchague watumiaji wote na tuwaungee kwanza kwa kuongezeka kwa umri, kisha watumiaji walio na umri sawa tuwaungee kwa kuongezeka kwa mshahara:

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

Matokeo ya msimbo uliofanyika:

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}

Mfano

Amri ORDER BY inaweza kuchanganywa na LIMIT . Wakati huu inahitajika kuandika amri ya upangaji kwanza, kisha - kikomo. Katika mfano unaofuata, kwanza tutapanga rekodi kwa kuongezeka kwa umri, kisha tuchukue 3 za kwanza:

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

Matokeo ya msimbo uliofanyika:

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}

Kazi za Vitendo

Задание 1

Pata watumiaji wote na uwaungee kwa kuongezeka kwa mshahara.

Задание 2

Pata watumiaji wote na uwaungee kwa kupungua kwa mshahara.

Задание 3

Pata watumiaji wote na uwaungee kwa jina.

Задание 4

Pata watumiaji walio na mshahara 500 na uwaungee kwa umri.

Задание 5

Pata watumiaji wote na uwaungee kwa jina na kwa mshahara.

Задание 6

Wapange watumiaji kwa kuongezeka kwa mshahara na upate 3 wa kwanza mfanyakazi kutoka kwa matokeo ya upangaji.

Задание 7

Wapange watumiaji kwa kupungua kwa mshahara na upate 3 wa kwanza mtumiaji kutoka kwa matokeo ya upangaji.