⊗pyPmDBNSr 115 of 129 menu

Сортиране на записи чрез 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 потребителя от резултата от сортирането.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне