⊗pyPmDBNSr 115 of 129 menu

Triedenie záznamov pomocou SQL dopytu v Pythone

Ak chcete zoradiť riadky výsledku, musíte použiť príkaz ORDER BY.

Príklad

Vyberme z našej tabuľky users všetkých používateľov a zoraďme ich podľa veku od menšieho k väčšiemu:

query = "SELECT * FROM users ORDER BY age"

Výsledok vykonaného kódu:

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

Príklad

Zmeňme poradie triedenia pomocou príkazu DESC:

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

Výsledok vykonaného kódu:

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

Príklad

Vyberme všetkých používateľov so mzdou 500 a zoraďme ich podľa veku od menšieho k väčšiemu:

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

Výsledok vykonaného kódu:

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

Príklad

Môžete triediť nie podľa jedného poľa, ale podľa niekoľkých. Na príklad vyberme všetkých používateľov a zoraďme ich najprv podľa vzostupného veku, a používateľov s rovnakým vekom zoraďme podľa vzostupnej mzdy:

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

Výsledok vykonaného kódu:

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

Príklad

Príkaz ORDER BY možno kombinovať s LIMIT . Pri tom je potrebné najprv napísať príkaz na triedenie, a potom - limit. V nasledujúcom príklade najprv zoradíme záznamy podľa vzostupného veku, a potom vezmeme prvých 3 kusy:

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

Výsledok vykonaného kódu:

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

Praktické úlohy

Získajte všetkých používateľov a zoraďte ich podľa vzostupnej mzdy.

Získajte všetkých používateľov a zoraďte ich podľa zostupnej mzdy.

Získajte všetkých používateľov a zoraďte ich podľa mena.

Získajte používateľov so mzdou 500 a zoraďte ich podľa veku.

Získajte všetkých používateľov a zoraďte ich podľa mena a podľa mzdy.

Zoraďte používateľov podľa vzostupnej mzdy a získajte prvých 3 pracovníkov z výsledku triedenia.

Zoraďte používateľov podľa zostupnej mzdy a získajte prvých 3 používateľov z výsledku triedenia.

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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť