Partager via


Order By, clause (Visual Basic)

Spécifie l’ordre de tri d’un résultat de requête.

Syntaxe

Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]

Pièces

orderExp1 Obligatoire. Un ou plusieurs champs du résultat de la requête actuelle qui identifient comment classer les valeurs retournées. Les noms de champs doivent être séparés par des virgules (,). Vous pouvez identifier chaque champ comme trié dans l’ordre croissant ou décroissant à l’aide des mots clés ou Descending des Ascending mots clés. Si aucun Ascending mot clé n’est Descending spécifié, l’ordre de tri par défaut est croissant. Les champs de l’ordre de tri sont prioritaires de gauche à droite.

Remarques

Vous pouvez utiliser la Order By clause pour trier les résultats d’une requête. La Order By clause ne peut trier qu’un résultat en fonction de la variable de plage pour l’étendue actuelle. Par exemple, la Select clause introduit une nouvelle étendue dans une expression de requête avec de nouvelles variables d’itération pour cette étendue. Les variables de plage définies avant une Select clause d’une requête ne sont pas disponibles après la Select clause. Par conséquent, si vous souhaitez classer vos résultats par un champ qui n’est pas disponible dans la Select clause, vous devez placer la Order By clause avant la Select clause. L’un des exemples suivants consiste à trier votre requête par champs qui ne sont pas retournés dans le cadre du résultat.

L’ordre croissant et décroissant d’un champ est déterminé par l’implémentation de l’interface IComparable pour le type de données du champ. Si le type de données n’implémente pas l’interface IComparable , l’ordre de tri est ignoré.

Exemple 1

L’expression de requête suivante utilise une From clause pour déclarer une variable book de plage pour la books collection. La Order By clause trie le résultat de la requête par prix dans l’ordre croissant (valeur par défaut). Les livres avec le même prix sont triés par titre dans l’ordre croissant. La Select clause sélectionne les propriétés et Price les Title propriétés en tant que valeurs retournées par la requête.

Dim titlesAscendingPrice = From book In books
                           Order By book.Price, book.Title
                           Select book.Title, book.Price

Exemple 2

L’expression de requête suivante utilise la Order By clause pour trier le résultat de la requête par prix dans l’ordre décroissant. Les livres avec le même prix sont triés par titre dans l’ordre croissant.

Dim titlesDescendingPrice = From book In books
                            Order By book.Price Descending, book.Title
                            Select book.Title, book.Price

Exemple 3

L’expression de requête suivante utilise une Select clause pour sélectionner le titre du livre, le prix, la date de publication et l’auteur. Il remplit ensuite les Titlechamps , Priceet PublishDateAuthor les champs de la variable de plage pour la nouvelle étendue. La Order By clause commande la nouvelle variable de plage par nom d’auteur, titre du livre, puis prix. Chaque colonne est triée dans l’ordre par défaut (croissant).

Dim bookOrders =
  From book In books
  Select book.Title, book.Price, book.PublishDate, book.Author
  Order By Author, Title, Price

Voir aussi