⊗pyPmDBNSr 115 of 129 menu

Řazení záznamů pomocí SQL dotazu v Pythonu

Chcete-li seřadit řádky výsledku, je třeba použít příkaz ORDER BY.

Příklad

Vyberme z naší tabulky users všechny uživatele a seřaďme je podle věku od nejmenšího k největšímu:

query = "SELECT * FROM users ORDER BY age"

Výsledek provedené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}

Příklad

Změníme pořadí řazení pomocí příkazu DESC:

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

Výsledek provedené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}

Příklad

Vyberme všechny uživatele se mzdou 500 a seřaďme je podle věku od nejmenšího k největšímu:

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

Výsledek provedené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}

Příklad

Můžete řadit ne podle jednoho pole, ale podle několika. Pojďme pro příklad vybrat všechny uživatele a seřadit je nejprve podle vzestupného věku, a uživatele se stejnými věky seřadit podle vzestupné mzdy:

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

Výsledek provedené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}

Příklad

Příkaz ORDER BY lze kombinovat s LIMIT . Přitom je třeba nejprve psát příkaz řazení, a poté - limit. V následujícím příkladu nejprve seřadíme záznamy podle vzestupného věku, a poté vezmeme první 3 kusy:

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

Výsledek provedené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ískejte všechny uživatele a seřaďte je podle vzestupné mzdy.

Získejte všechny uživatele a seřaďte je podle sestupné mzdy.

Získejte všechny uživatele a seřaďte je podle jména.

Získejte uživatele se mzdou 500 a seřaďte je podle věku.

Získejte všechny uživatele a seřaďte je podle jména a podle mzdy.

Seřaďte uživatele podle vzestupné mzdy a získejte první 3 pracovníky z výsledku řazení.

Seřaďte uživatele podle sestupné mzdy a získejte první 3 uživatele z výsledku řazení.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout