Partager via


Order By, clause (Visual Basic)

Spécifie l'ordre de tri pour un résultat de requête.

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

Composants

  • orderExp1
    Obligatoire. Un ou plusieurs champs du résultat actuel de la requête identifiant la manière de classer les valeurs retournées. Les noms de champs doivent être séparés par une virgule (,). Vous pouvez identifier l'ordre de tri de chaque champ, croissant ou décroissant, en utilisant les mots clés Ascending ou Descending. Si aucun mot clé Ascending ou Descending n'est spécifié, l'ordre de tri par défaut est l'ordre croissant. La priorité des champs d'ordre de tri se fait de gauche à droite.

Notes

Vous pouvez utiliser la clause Order By pour trier les résultats d'une requête. La clause Order By ne peut trier qu'un résultat basé sur la variable de portée de la portée actuelle. Par exemple, la clause Select introduit une nouvelle portée dans une expression de requête avec de nouvelles variables d'itération pour cette portée. Les variables de portée définies avant une clause Select dans une requête ne sont pas disponibles après la clause Select. Par conséquent, si vous souhaitez classer vos résultats par champ non disponible dans la clause Select, vous devez placer la clause Order By avant la clause Select. Vous devez procéder ainsi, par exemple, lorsque vous souhaitez trier votre requête par champs non retournés dans le cadre du résultat.

L'ordre de tri 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

L'expression de requête suivante utilise une clause From pour déclarer une variable de portée book pour la collection books. La clause Order By trie le résultat de la requête par prix et par ordre croissant (par défaut). Les livres de prix identique sont triés par titre et par ordre croissant. La clause Select sélectionne les propriétés Title et Price 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

L'expression de requête suivante utilise la clause Order By pour trier le résultat de la requête par prix et par ordre décroissant. Les livres de prix identique sont triés par titre et par ordre croissant.

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

L'expression de requête suivante utilise une clause Select pour sélectionner le titre du livre, son prix, sa date de publication et son auteur. Elle renseigne alors les champs Title, Price, PublishDateet Author de la variable de portée pour la nouvelle portée. La clause Order By classe la nouvelle variable de portée par nom d'auteur, titre de livre, puis par 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

Référence

Select, clause (Visual Basic)

From, clause (Visual Basic)

Concepts

Introduction à LINQ dans Visual Basic

Autres ressources

Requêtes (Visual Basic)