⊗pyPmDBNSr 115 of 129 menu

Sortarea înregistrărilor prin interogare SQL în Python

Pentru a sorta rândurile rezultatului, trebuie să folosiți comanda ORDER BY.

Exemplu

Să selectăm din tabela noastră users toți utilizatorii și să-i sortăm după vârstă de la cel mai mic la cel mai mare:

query = "SELECT * FROM users ORDER BY age"

Rezultatul codului executat:

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

Exemplu

Să schimbăm ordinea de sortare folosind comanda DESC:

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

Rezultatul codului executat:

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

Exemplu

Să selectăm toți utilizatorii cu salariul 500 și să-i sortăm după vârstă de la cel mai mic la cel mai mare:

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

Rezultatul codului executat:

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

Exemplu

Puteți sorta nu după un câmp, ci după mai multe. Să selectăm pentru exemplu toți utilizatorii și să-i sortăm mai întâi după vârstă în ordine crescătoare, iar utilizatorii cu vârste identice să-i sortăm după salariu în ordine crescătoare:

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

Rezultatul codului executat:

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

Exemplu

Comanda ORDER BY poate fi combinată cu LIMIT. În acest caz, trebuie mai întâi să scrieți comanda de sortare, iar apoi - limita. În următorul exemplu, mai întâi vom sorta înregistrările după vârstă în ordine crescătoare, apoi vom lua primele 3 elemente:

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

Rezultatul codului executat:

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

Sarcini practice

Extrageți toți utilizatorii și sortați-i după salariu în ordine crescătoare.

Extrageți toți utilizatorii și sortați-i după salariu în ordine descrescătoare.

Extrageți toți utilizatorii și sortați-i după nume.

Extrageți utilizatorii cu salariul 500 și sortați-i după vârstă.

Extrageți toți utilizatorii și sortați-i după nume și după salariu.

Sortați utilizatorii după salariu în ordine crescătoare și obțineți primii 3 angajați din rezultatul sortării.

Sortați utilizatorii după salariu în ordine descrescătoare și obțineți primii 3 utilizatori din rezultatul sortării.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge