Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A SELECT utasításban visszaadott objektumokhoz használt rendezési sorrendet adja meg.
Szemantika
[ ORDER BY
{
order_by_expression [SKIP n] [LIMIT n]
[ COLLATE collation_name ]
[ ASC | DESC ]
}
[ ,…n ]
]
Érvek
order_by_expression Bármely érvényes lekérdezési kifejezés, amely megadja a rendezendő tulajdonságot. Több rendezési kifejezés is megadható. Az ORDER BY záradék rendezési kifejezéseinek sorrendje határozza meg a rendezett eredményhalmaz szervezetét.
COLLATE {collation_name} Azt határozza meg, hogy az ORDER BY műveletet a megadott collation_namerendezésnek megfelelően kell végrehajtani. A COLLATE csak sztringkifejezésekre alkalmazható.
Az ASC azt határozza meg, hogy a megadott tulajdonság értékeit növekvő sorrendbe kell rendezni, a legalacsonyabbtól a legmagasabb értékig. Ez az alapértelmezett érték.
A DESC azt határozza meg, hogy a megadott tulajdonság értékeit csökkenő sorrendbe kell rendezni, a legmagasabbtól a legalacsonyabb értékig.
CSAK n az első n elemek lesznek kijelölve.
A SKIP n kihagyja az első n elemeket.
Megjegyzések
Az ORDER BY záradék logikailag alkalmazható a SELECT záradék eredményére. Az ORDER BY záradék aliasok használatával hivatkozhat a kiválasztási lista elemeire. Az ORDER BY záradék hivatkozhat a jelenleg hatókörben lévő más változókra is. Ha azonban a SELECT záradék egy DISTINCT módosítóval lett megadva, az ORDER BY záradék csak a SELECT záradék aliasaira hivatkozhat.
SELECT c AS c1 FROM cs AS c ORDER BY c1.e1, c.e2
Az ORDER BY záradék minden kifejezésének olyan típusúnak kell lennie, amely összehasonlítható rendezett egyenlőtlenség esetén (kisebb vagy nagyobb, mint stb.). Ezek a típusok általában skaláris primitívek, például számok, sztringek és dátumok. Az összehasonlítható típusok sortípusai szintén hasonlóak.
Ha a kód egy rendezett halmazon halad át, a legfelső szintű vetítés kivételével, a kimenet nem garantáltan megőrzi a sorrendjét.
A következő mintában a sorrend garantáltan megmarad:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
A következő lekérdezésben a beágyazott lekérdezés sorrendje figyelmen kívül lesz hagyva:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Rendezett UNION, UNION ALL, EXCEPT vagy INTERSECT művelethez használja a következő mintát:
SELECT ...
FROM ( UNION/EXCEPT/INTERSECT operation )
ORDER BY ...
Korlátozott kulcsszavak
A következő kulcsszavakat idézőjelek közé kell foglalni, ha egy ORDER BY záradékban használják:
KERESZT
TELJES
KULCS
BALRA
MEGRENDELÉS
KÜLSŐ
jobb / helyes / jog
SOR
ÉRTÉK
Beágyazott lekérdezések rendezése
Az Entity Frameworkben egy beágyazott kifejezés bárhol elhelyezhető a lekérdezésben; a beágyazott lekérdezések sorrendje nem marad meg.
A következő lekérdezés a vezetéknév alapján rendezi az eredményeket:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
A következő lekérdezésben a beágyazott lekérdezés sorrendje figyelmen kívül lesz hagyva:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
példa
Az alábbi Entity SQL-lekérdezés az ORDER BY operátorral adja meg a SELECT utasításban visszaadott objektumokhoz használt rendezési sorrendet. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:
Kövesse a How to: Execute a Query that Returns StructuralType Results (Szerkezeti típus eredményeinek visszaadása) című témakör lépéseit.
Adja át a következő lekérdezést argumentumként a
ExecuteStructuralTypeQuerymetódusnak:
SELECT VALUE p FROM AdventureWorksEntities.Products
AS p ORDER BY p.ListPrice