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 an, die für Objekte verwendet wird, die in einer SELECT-Anweisung zurückgegeben werden.
Syntax
[ ORDER BY
{
order_by_expression [SKIP n] [LIMIT n]
[ COLLATE collation_name ]
[ ASC | DESC ]
}
[ ,…n ]
]
Argumente
order_by_expression Ein beliebiger gültiger Abfrageausdruck, der eine Eigenschaft angibt, nach der sortiert werden soll. Es können mehrere Sortierausdrücke angegeben werden. Die Abfolge der Sortierausdrücke in der ORDER BY-Klausel definiert die Organisation des sortierten Resultsets.
COLLATE {collation_name} Gibt an, dass der ORDER BY-Vorgang gemäß der angegebenen collation_nameSortierung ausgeführt werden soll. COLLATE gilt nur für Zeichenfolgenausdrücke.
ASC Gibt an, dass die Werte in der angegebenen Eigenschaft in aufsteigender Reihenfolge sortiert werden sollen, von dem niedrigsten Wert zum höchsten Wert. Dies ist die Standardeinstellung.
DESC Gibt an, dass die Werte in der angegebenen Eigenschaft in absteigender Reihenfolge sortiert werden sollen, von dem höchsten Wert bis zum niedrigsten Wert.
Nur n die ersten n Elemente werden ausgewählt.
SKIP n überspringt die ersten n Elemente.
Bemerkungen
Die ORDER BY-Klausel wird logisch auf das Ergebnis der SELECT-Klausel angewendet. Die ORDER BY-Klausel kann mithilfe ihrer Aliase auf Elemente in der Auswahlliste verweisen. Die ORDER BY-Klausel kann auch auf andere Variablen verweisen, die sich derzeit im Gültigkeitsbereich befinden. Wenn die SELECT-Klausel jedoch mit einem DISTINCT-Modifizierer angegeben wurde, kann die ORDER BY-Klausel nur auf Aliase aus der SELECT-Klausel verweisen.
SELECT c AS c1 FROM cs AS c ORDER BY c1.e1, c.e2
Jeder Ausdruck in der ORDER BY-Klausel muss einen Bestimmten Typ auswerten, der für sortierte Ungleichheiten verglichen werden kann (kleiner oder größer als usw.). Diese Typen sind im Allgemeinen skalare Grundtypen wie Zahlen, Zeichenfolgen und Datumsangaben. RowTypes vergleichbarer Typen sind ebenfalls vergleichbar.
Wenn ihr Code einen geordneten Satz durchläuft, außer bei einer Projektion auf oberster Ebene, wird die Ausgabe nicht garantiert, dass die Reihenfolge beibehalten wird.
Im folgenden Beispiel wird sichergestellt, dass die Reihenfolge beibehalten wird:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
In der folgenden Abfrage wird die Reihenfolge der geschachtelten Abfrage ignoriert:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Um einen geordneten UNION-, UNION ALL-, EXCEPT- oder INTERSECT-Vorgang zu verwenden, verwenden Sie das folgende Muster:
SELECT ...
FROM ( UNION/EXCEPT/INTERSECT operation )
ORDER BY ...
Eingeschränkte Schlüsselwörter
Die folgenden Schlüsselwörter müssen in Anführungszeichen eingeschlossen werden, wenn sie in einer ORDER BY Klausel verwendet werden:
KREUZ
VOLL
SCHLÜSSEL
LEFT
BESTELLUNG
äußere
Richtig
RUDERN
WERT
Sortieren geschachtelter Abfragen
Im Entity Framework kann ein geschachtelter Ausdruck an einer beliebigen Stelle in der Abfrage platziert werden. die Reihenfolge einer geschachtelten Abfrage wird nicht beibehalten.
Die folgende Abfrage sortiert die Ergebnisse nach dem Nachnamen:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
In der folgenden Abfrage wird die Reihenfolge der geschachtelten Abfrage ignoriert:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Beispiel
Die folgende Entity SQL-Abfrage verwendet den ORDER BY-Operator, um die Sortierreihenfolge anzugeben, die für objekte verwendet wird, die in einer SELECT-Anweisung zurückgegeben werden. Die Abfrage basiert auf dem AdventureWorks Sales Model. Führen Sie die folgenden Schritte aus, um diese Abfrage zu kompilieren und auszuführen:
Gehen Sie wie folgt vor : Ausführen einer Abfrage, die StrukturelleType-Ergebnisse zurückgibt.
Übergeben Sie die folgende Abfrage als Argument an die
ExecuteStructuralTypeQueryMethode:
SELECT VALUE p FROM AdventureWorksEntities.Products
AS p ORDER BY p.ListPrice