⊗pyPmDBNSr 115 of 129 menu

Razvrstitev zapisov prek SQL poizvedbe v Pythonu

Za razvrščanje vrstic rezultata je potrebno uporabiti ukaz ORDER BY.

Primer

Izberimo iz naše tabele users vse uporabnike in jih razvrstimo po starosti od manjšega k večjemu:

query = "SELECT * FROM users ORDER BY age"

Rezultat izvedene kode:

{'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}

Primer

Spremenimo vrstni red razvrščanja z uporabo ukaza DESC:

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

Rezultat izvedene kode:

{'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}

Primer

Izberimo vse uporabnike s plačo 500 in jih razvrstimo po starosti od manjšega k večjemu:

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

Rezultat izvedene kode:

{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500} {'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Primer

Lahko razvrščamo ne po enem polju, ampak po več. Za primer izberimo vse uporabnike in jih razvrstimo najprej po naraščanju starosti, uporabnike z enakimi starostmi pa razvrstimo po naraščanju plače:

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

Rezultat izvedene kode:

{'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}

Primer

Ukaz ORDER BY je mogoče kombinirati z LIMIT . Pri tem je najprej potrebno napisati ukaz za razvrščanje, nato - limit. V naslednjem primeru najprej razvrstimo zapise po naraščanju starosti, nato vzamemo prvih 3 kosov:

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

Rezultat izvedene kode:

{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400} {'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Praktične naloge

Pridobite vse uporabnike in jih razvrstite po naraščanju plače.

Pridobite vse uporabnike in jih razvrstite po padanju plače.

Pridobite vse uporabnike in jih razvrstite po imenu.

Pridobite uporabnike s plačo 500 in jih razvrstite po starosti.

Pridobite vse uporabnike in jih razvrstite po imenu in po plači.

Razvrstite uporabnike po naraščanju plače in pridobite prvih 3 delavcev iz rezultata razvrščanja.

Razvrstite uporabnike po padanju plače in pridobite prvih 3 uporabnikov iz rezultata razvrščanja.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni