Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt die Sortierreihenfolge für ein Abfrageergebnis an.
Syntax
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Bestandteile
orderExp1 Erforderlich. Mindestens ein Feld aus dem aktuellen Abfrageergebnis, das angibt, wie die zurückgegebenen Werte sortiert werden. Die Feldnamen müssen durch Kommas (,) getrennt werden. Sie können jedes Feld anhand der Ascending Oder Descending Schlüsselwörter in aufsteigender oder absteigender Reihenfolge identifizieren. Wenn keine oder Descending kein Ascending Schlüsselwort angegeben ist, ist die Standardsortierreihenfolge aufsteigend. Die Sortierreihenfolgefelder haben Vorrang von links nach rechts.
Bemerkungen
Sie können die Order By Klausel verwenden, um die Ergebnisse einer Abfrage zu sortieren. Die Order By Klausel kann nur ein Ergebnis basierend auf der Bereichsvariable für den aktuellen Bereich sortieren. Beispielsweise führt die Select Klausel einen neuen Bereich in einem Abfrageausdruck mit neuen Iterationsvariablen für diesen Bereich ein. Bereichsvariablen, die vor einer Select Klausel in einer Abfrage definiert sind, sind nach der Select Klausel nicht verfügbar. Wenn Sie ihre Ergebnisse daher nach einem Feld sortieren möchten, das in der Select Klausel nicht verfügbar ist, müssen Sie die Order By Klausel vor der Select Klausel platzieren. Ein Beispiel dafür ist, dass Sie die Abfrage nach Feldern sortieren möchten, die nicht als Teil des Ergebnisses zurückgegeben werden.
Die aufsteigende und absteigende Reihenfolge für ein Feld wird durch die Implementierung der IComparable Schnittstelle für den Datentyp des Felds bestimmt. Wenn der Datentyp die IComparable Schnittstelle nicht implementiert, wird die Sortierreihenfolge ignoriert.
Beispiel 1
Der folgende Abfrageausdruck verwendet eine From Klausel, um eine Bereichsvariable book für die books Auflistung zu deklarieren. Die Order By Klausel sortiert das Abfrageergebnis nach Preis in aufsteigender Reihenfolge (Standardeinstellung). Bücher mit demselben Preis werden nach Titel in aufsteigender Reihenfolge sortiert. Die Select Klausel wählt die und Price die Title Eigenschaften als die von der Abfrage zurückgegebenen Werte aus.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Beispiel 2
Der folgende Abfrageausdruck verwendet die Order By Klausel, um das Abfrageergebnis nach Preis in absteigender Reihenfolge zu sortieren. Bücher mit demselben Preis werden nach Titel in aufsteigender Reihenfolge sortiert.
Dim titlesDescendingPrice = From book In books
Order By book.Price Descending, book.Title
Select book.Title, book.Price
Beispiel 3
Der folgende Abfrageausdruck verwendet eine Select Klausel, um den Buchtitel, den Preis, das Veröffentlichungsdatum und den Autor auszuwählen. Anschließend werden die TitleFelder der PricePublishDateAuthor Bereichsvariablen für den neuen Bereich aufgefüllt. Die Order By Klausel sortiert die neue Bereichsvariable nach Autorname, Buchtitel und dann Preis. Jede Spalte wird in der Standardreihenfolge (aufsteigend) sortiert.
Dim bookOrders =
From book In books
Select book.Title, book.Price, book.PublishDate, book.Author
Order By Author, Title, Price