⊗pyPmDBNSr 115 of 129 menu

Įrašų rūšiavimas naudojant SQL užklausą Python

Norėdami rūšiuoti rezultato eilutes, turite naudoti komandą ORDER BY.

Pavyzdys

Pasirinkime iš mūsų lentelės users visus vartotojus ir surūšiuokime juos pagal amžių nuo mažiausio iki didžiausio:

query = "SELECT * FROM users ORDER BY age"

Vykdyto kodo rezultatas:

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

Pavyzdys

Pakeiskime rūšiavimo tvarką naudodami komandą DESC:

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

Vykdyto kodo rezultatas:

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

Pavyzdys

Pasirinkime visus vartotojus, kurių atlyginimas 500, ir surūšiuokime juos pagal amžių nuo mažiausio iki didžiausio:

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

Vykdyto kodo rezultatas:

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

Pavyzdys

Galima rūšiuoti ne pagal vieną lauką, o pagal kelis. Pavyzdžiui, pasirinkime visus vartotojus ir surūšiuokime juos pirma pagal amžių didėjimo tvarka, o vartotojus, kurių amžius vienodas, surūšiuokime pagal atlyginimą didėjimo tvarka:

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

Vykdyto kodo rezultatas:

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

Pavyzdys

Komandą ORDER BY galima derinti su LIMIT . Tokiu atveju pirma reikia rašyti rūšiavimo komandą, o po to - limitą. Šiame pavyzdyje pirma surūšiuosime įrašus pagal amžių didėjimo tvarka, o po to paimsime pirmuosius 3 įrašus:

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

Vykdyto kodo rezultatas:

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

Praktinės užduotys

Paimkite visus vartotojus ir surūšiuokite juos pagal atlyginimą didėjimo tvarka.

Paimkite visus vartotojus ir surūšiuokite juos pagal atlyginimą mažėjimo tvarka.

Paimkite visus vartotojus ir surūšiuokite juos pagal vardą.

Paimkite vartotojus, kurių atlyginimas 500, ir surūšiuokite juos pagal amžių.

Paimkite visus vartotojus ir surūšiuokite juos pagal vardą ir pagal atlyginimą.

Surūšiuokite vartotojus pagal atlyginimą didėjimo tvarka ir gaukite pirmus 3 darbuotojus iš rūšiavimo rezultato.

Surūšiuokite vartotojus pagal atlyginimą mažėjimo tvarka ir gaukite pirmus 3 vartotojus iš rūšiavimo rezultato.

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