⊗pyPmDBNSr 115 of 129 menu

Tri des enregistrements via une requête SQL en Python

Pour trier les lignes du résultat, il faut utiliser la commande ORDER BY.

Exemple

Sélectionnons de notre table users tous les utilisateurs et trions-les par âge du plus petit au plus grand :

query = "SELECT * FROM users ORDER BY age"

Résultat du code exécuté :

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

Exemple

Changeons l'ordre de tri avec la commande DESC :

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

Résultat du code exécuté :

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

Exemple

Sélectionnons tous les utilisateurs avec un salaire de 500 et trions-les par âge du plus petit au plus grand :

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

Résultat du code exécuté :

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

Exemple

On peut trier non pas par un champ, mais par plusieurs. Prenons pour exemple la sélection de tous les utilisateurs et trions-les d'abord par âge croissant, puis les utilisateurs du même âge seront triés par salaire croissant :

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

Résultat du code exécuté :

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

Exemple

La commande ORDER BY peut être combinée avec LIMIT . Dans ce cas, il faut d'abord écrire la commande de tri, puis - la limite. Dans l'exemple suivant, trions d'abord les enregistrements par âge croissant, puis prenons les 3 premiers :

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

Résultat du code exécuté :

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

Tâches pratiques

Récupérez tous les utilisateurs et triez-les par salaire croissant.

Récupérez tous les utilisateurs et triez-les par salaire décroissant.

Récupérez tous les utilisateurs et triez-les par nom.

Récupérez les utilisateurs avec un salaire de 500 et triez-les par âge.

Récupérez tous les utilisateurs et triez-les par nom et par salaire.

Triez les utilisateurs par salaire croissant et obtenez les 3 premiers employés du résultat du tri.

Triez les utilisateurs par salaire décroissant et obtenez les 3 premiers utilisateurs du résultat du tri.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser