Renditja e të dhënave përmes kërkesës SQL në Python
Për të renditur rreshtat e rezultatit,
duhet të përdorni komandën ORDER
BY.
Shembull
Le të zgjedhim nga tabela jonë users të gjithë
përdoruesit dhe t'i renditim sipas moshës nga
më e vogla te më e madhja:
query = "SELECT * FROM users ORDER BY age"
Rezultati i kodit të ekzekutuar:
{'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}
Shembull
Le të ndryshojmë rendin e renditjes duke përdorur
komandën DESC:
query = "SELECT * FROM users ORDER BY age DESC"
Rezultati i kodit të ekzekutuar:
{'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}
Shembull
Le të zgjedhim të gjithë përdoruesit me pagë 500
dhe t'i renditim sipas moshës nga më e vogla
te më e madhja:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Rezultati i kodit të ekzekutuar:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Shembull
Mund të renditni jo sipas një fushe, por sipas disa. Le të zgjedhim për shembull të gjithë përdoruesit dhe t'i renditim së pari sipas moshes në rritje, dhe përdoruesit me moshë të njëjtë t'i renditim sipas rritjes së pagës:
query = "SELECT * FROM users ORDER BY age, salary"
Rezultati i kodit të ekzekutuar:
{'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}
Shembull
Komanda ORDER BY mund të kombinohet
me LIMIT . Në këtë rast së pari duhet
të shkruhet komanda e renditjes, e më pas - limiti.
Në shembullin vijues së pari le t'i renditim
të dhënat sipas moshës në rritje, e më pas
të marrim 3 të parat:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Rezultati i kodit të ekzekutuar:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Detyra praktike
Merrni të gjithë përdoruesit dhe renditini ata sipas rritjes së pagës.
Merrni të gjithë përdoruesit dhe renditini ata sipas zbritjes së pagës.
Merrni të gjithë përdoruesit dhe renditini ata sipas emrit.
Merrni përdoruesit me pagë 500 dhe
renditini sipas moshës.
Merrni të gjithë përdoruesit dhe renditini ata sipas emrit dhe pagës.
Renditni përdoruesit sipas rritjes së pagës
dhe merrni 3 punonjësit e parë nga
rezultati i renditjes.
Renditni përdoruesit sipas zbritjes së pagës
dhe merrni 3 përdoruesit e parë nga
rezultati i renditjes.