Instruction ORDER BY PostgreSQL
Dans PostgreSQL,ORDER BYest utilisé pour organiser une ou plusieurs colonnes de données par ordre croissant (ASC) ou décroissant (DESC).
Syntaxe
ORDER BYLa syntaxe de base de la clause est la suivante :
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Vous pouvez utiliser une ou plusieurs colonnes dans ORDER BY, mais vous devez vous assurer que les colonnes à trier existent.
ASCindique l'ordre croissant,DESCindique l'ordre décroissant.
Exemple
Créez la table COMPANY (Téléchargez le fichier SQL COMPANY), avec le contenu des données comme suit :
exampledb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
L'exemple suivant triera les résultats par ordre croissant en fonction de la valeur du champ AGE :
exampledb=# SELECT * FROM COMPANY ORDER BY AGE ASC;
Le résultat suivant est obtenu :
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 6 | Kim | 22 | South-Hall | 45000 3 | Teddy | 23 | Norway | 20000 7 | James | 24 | Houston | 10000 4 | Mark | 25 | Rich-Mond | 65000 2 | Allen | 25 | Texas | 15000 5 | David | 27 | Texas | 85000 1 | Paul | 32 | California | 20000 (7 rows)
L'exemple suivant triera les résultats par ordre croissant en fonction de la valeur du champ NAME et de la valeur du champ SALARY :
exampledb=# SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
Le résultat suivant est obtenu :
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 2 | Allen | 25 | Texas | 15000 5 | David | 27 | Texas | 85000 7 | James | 24 | Houston | 10000 6 | Kim | 22 | South-Hall | 45000 4 | Mark | 25 | Rich-Mond | 65000 1 | Paul | 32 | California | 20000 3 | Teddy | 23 | Norway | 20000 (7 rows)
L'exemple suivant triera les résultats par ordre décroissant en fonction de la valeur du champ NAME :
exampledb=# SELECT * FROM COMPANY ORDER BY NAME DESC;
Le résultat suivant est obtenu :
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 3 | Teddy | 23 | Norway | 20000 1 | Paul | 32 | California | 20000 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 5 | David | 27 | Texas | 85000 2 | Allen | 25 | Texas | 15000 (7 rows)Autres extensions