ORDER BY-Klausel (Visual Basic)
Gibt die Sortierreihenfolge für ein Abfrageergebnis an.
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Teile
- orderExp1
Erforderlich.Ein oder mehrere Felder des aktuellen Abfrageergebnisses, die die Reihenfolge der zurückgegebenen Werte angeben.Die Feldnamen müssen durch Kommas (,) voneinander getrennt werden.Sie können für die Felder mithilfe der Schlüsselwörter Ascending oder Descending eine aufsteigende bzw. absteigende Reihenfolge festlegen.Wenn kein Ascending-Schlüsselwort oder Descending-Schlüsselwort angegeben ist, wird standardmäßig die aufsteigende Sortierreihenfolge verwendet.Die Rangfolge bei Feldern bezüglich der Sortierreihenfolge verläuft von links nach rechts.
Hinweise
Sie können die Order By-Klausel verwenden, um die Ergebnisse einer Abfrage zu sortieren.Die Order By-Klausel kann ein Ergebnis nur auf Grundlage der Bereichsvariablen für den aktuellen Bereich sortieren.Beispielsweise wird mit der Select-Klausel ein neuer Bereich in einem Abfrageausdruck mit neuen Iterationsvariablen für diesen Bereich eingeführt.Bereichsvariablen, die vor einer Select-Klausel in einer Abfrage definiert sind, sind nach der Select-Klausel nicht verfügbar.Wenn Sie die Reihenfolge der Ergebnisse anhand eines Felds festlegen möchten, das nicht in der Select-Klausel verfügbar ist, muss die Order By-Klausel der Select-Klausel vorangestellt werden.Dies ist beispielsweise dann notwendig, wenn Sie eine Abfrage nach Feldern sortieren möchten, die nicht als Teil des Ergebnisses zurückgegeben werden.
Die aufsteigende bzw. 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
Der folgende Abfrageausdruck verwendet eine From-Klausel zum Deklarieren einer Bereichsvariablen book für die books-Auflistung.Die Order By-Klausel sortiert das Abfrageergebnis nach Preis in aufsteigender Reihenfolge (Standard).Bücher mit dem gleichen Preis werden nach Titel in aufsteigender Reihenfolge sortiert.Die Select-Klausel wählt die Title-Eigenschaft und die Price-Eigenschaft als Rückgabewerte der Abfrage.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Der folgende Abfrageausdruck verwendet die Order By-Klausel zum Sortieren des Abfrageergebnisses nach Preis in absteigender Reihenfolge.Bücher mit dem gleichen 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
Der folgende Abfrageausdruck verwendet eine Select-Klausel, um Buchtitel, Preis, Veröffentlichungsdatum und Autor auszuwählen.Dann werden das Title, Price, PublishDate-Feld und das Author-Feld der Bereichsvariablen für den neuen Bereich mit Daten gefüllt.Die Order By-Klausel sortiert die neue Bereichsvariable nach Autorennamen, Buchtitel und 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
Siehe auch
Referenz
Konzepte
Einführung in LINQ in Visual Basic