Problème :
Vous devez afficher les enregistrements d'une table donnée triés sur deux colonnes.
Exemple :
Notre base de données contient une table nommée employee
avec les colonnes suivantes :id
, first_name
, last_name
, et salary
.
identifiant | prénom | nom_de_famille | salaire |
---|---|---|---|
1 | Lisa | Ulman | 3 000 |
2 | Ada | Müller | 2400 |
3 | Thomas | Vert | 2400 |
4 | Michel | Müller | 3 000 |
5 | Marie | Vert | 2400 |
Affichons toutes les informations pour chaque employé, mais trions d'abord les enregistrements en fonction du salaire par ordre décroissant, puis par nom de famille dans l'ordre croissant.
Solution :
SELECT id, first_name, last_name, salary FROM employee ORDER BY salary DESC, last_name;
Cette requête renvoie des enregistrements triés selon deux colonnes :salaire et nom_de_famille .
identifiant | prénom | nom_de_famille | salaire |
---|---|---|---|
4 | Michel | M uller | 3 000 |
1 | Lisa | U lman | 3 000 |
3 | Thomas | G reen | 2 400 |
5 | Marie | G reen | 2 400 |
2 | Ada | M uller | 2 400 |
Discussion :
Si vous souhaitez sélectionner des enregistrements dans une table mais souhaitez les voir triés selon deux colonnes, vous pouvez le faire avec ORDER BY
. Cette clause se trouve à la fin de votre requête SQL.
Après le ORDER BY
mot-clé, ajoutez le nom de la colonne par laquelle vous souhaitez trier les enregistrements en premier (dans notre exemple, salaire). Ensuite, après une virgule, ajoutez la deuxième colonne (dans notre exemple, last_name
). Vous pouvez modifier l'ordre de tri (croissant ou décroissant) séparément pour chaque colonne. Si vous souhaitez utiliser l'ordre croissant (de bas en haut), vous pouvez utiliser le ASC
mot-clé; ce mot-clé est cependant facultatif, car il s'agit de l'ordre par défaut lorsqu'aucun n'est spécifié. Si vous souhaitez utiliser l'ordre décroissant, mettez le DESC
mot-clé après la colonne appropriée (dans l'exemple, nous avons utilisé l'ordre décroissant pour le salary
colonne).
Dans notre exemple, nous avons d'abord trié le résultat par salaire dans l'ordre décroissant (des salaires les plus élevés aux plus bas), puis par nom de famille dans l'ordre croissant dans les enregistrements déjà triés.