Сортирање на записи преку SQL барање во Python
За да ги сортирате редовите од резултатот,
треба да ја користите командата ORDER
BY.
Пример
Ќе ги избереме сите корисници од нашата табела users
и ќе ги сортираме по возраст од
помалиот кон поголемиот:
query = "SELECT * FROM users ORDER BY age"
Резултат од извршениот код:
{'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}
Пример
Ќе го промениме редоследот на сортирање со помош
на командата DESC:
query = "SELECT * FROM users ORDER BY age DESC"
Резултат од извршениот код:
{'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}
Пример
Ќе ги избереме сите корисници со плата 500
и ќе ги сортираме по возраст од помалиот
кон поголемиот:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Резултат од извршениот код:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Пример
Може да сортирате не по едно поле, туку по неколку. Ајде за пример да ги избереме сите корисници и да ги сортираме прво по возраст во растечки редослед, а корисниците со исти возрасти да ги сортираме по плата во растечки редослед:
query = "SELECT * FROM users ORDER BY age, salary"
Резултат од извршениот код:
{'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}
Пример
Командата ORDER BY може да се комбинира
со LIMIT. При тоа, прво треба
да ја напишете командата за сортирање, а потоа - лимитот.
Во следниот пример прво ќе ги сортираме
записите по возраст во растечки редослед, а потоа
ќе земеме првите 3 записи:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Резултат од извршениот код:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Практични задачи
Земете ги сите корисници и сортирајте ги по плата во растечки редослед.
Земете ги сите корисници и сортирајте ги по плата во опаѓачки редослед.
Земете ги сите корисници и сортирајте ги по име.
Земете ги корисниците со плата 500 и
сортирајте ги по возраст.
Земете ги сите корисници и сортирајте ги по име и по плата.
Сортирајте ги корисниците по плата во растечки редослед
и земете ги првите 3 работници од
резултатот на сортирањето.
Сортирајте ги корисниците по плата во опаѓачки редослед
и земете ги првите 3 корисници од
резултатот на сортирањето.