La clause ORDER BY dans Access trie les enregistrements résultant d’une requête sur un ou plusieurs champs spécifiés par ordre croissant ou décroissant.
Syntaxe
SELECT fieldlist
FROM table WHERE selectcriteria [ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]]Une instruction SELECT contenant une clause GROUP BY comprend les parties suivantes :
Partie |
Description |
listechamps |
Nom du ou des champs à extraire avec leurs alias de noms de champs, fonctions d’agrégation SQL, prédicats de sélection (ALL, DISTINCT, DISTINCTROW ou TOP), ou autres options d’instruction SELECT. |
table |
Nom de la table d'où sont extraits les enregistrements. |
critèressélection |
Critères de sélection. Si l’instruction contient une clause WHERE, le moteur de base de données Access ordonne les valeurs après avoir appliqué les conditions WHERE aux enregistrements. |
field1, field2 |
Noms des champs sur lesquels trier les enregistrements. |
Remarques
La clause ORDER BY est facultative. Toutefois, si vous souhaitez que vos données s’affichent dans un ordre trié, vous devez utiliser la clause ORDER BY.
L’ordre de tri par défaut est croissant (A à Z, 0 à 9). Les deux exemples suivants trient les employés dans l’ordre alphabétique des noms de famille :
SELECT LastName, FirstName
FROM Employees ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees ORDER BY LastName ASC;
Pour trier dans l’ordre décroissant (Z à A, 9 à 0), ajoutez le mot réservé DESC à la fin de chaque champ à trier dans cet ordre. L’exemple suivant sélectionne les salaires et les trie dans l’ordre décroissant :
SELECT LastName, Salary
FROM Employees ORDER BY Salary DESC, LastName;
Si vous spécifiez un champ contenant des données de type Mémo ou objet OLE dans la clause ORDER BY, une erreur se produit. Le moteur de la base de données Microsoft Access ne trie pas sur les champs de ces types.
La clause ORDER BY est généralement le dernier élément dans une instruction SQL.
Vous pouvez inclure des champs supplémentaires dans la clause ORDER BY. Les enregistrements sont d’abord triés sur le premier champ mentionné après ORDER BY. Les enregistrements qui ont des valeurs égales dans ce champ sont ensuite triés sur la valeur du deuxième champ répertorié, et ainsi de suite.