Order By Clause (Visual Basic)

Megadja a lekérdezés eredményének rendezési sorrendjét.

Syntax

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

Részek

orderExp1 Szükséges. Az aktuális lekérdezés egy vagy több mezője azonosítja a visszaadott értékek sorrendjét. A mezőneveket vesszővel (,) kell elválasztani. Az egyes mezőket növekvő vagy csökkenő sorrendben, a AscendingDescending kulcsszavak használatával azonosíthatja. Ha nem Ascending vagy Descending kulcsszó van megadva, az alapértelmezett rendezési sorrend növekvő. A rendezési sorrend mezői balról jobbra haladva elsőbbséget élveznek.

Megjegyzések

A Order By záradék segítségével rendezheti a lekérdezések eredményeit. A Order By záradék csak az aktuális hatókör tartományváltozója alapján tudja rendezni az eredményt. A záradék például Select új hatókört vezet be egy lekérdezési kifejezésben az adott hatókör új iterációs változóival. A lekérdezések záradéka előtt definiált Select tartományváltozók nem érhetők el a Select záradék után. Ezért ha olyan mező alapján szeretné rendezni az eredményeket, amely nem érhető el a Select záradékban, a záradékot a Order BySelect záradék elé kell helyeznie. Erre például akkor van szükség, ha olyan mezők szerint szeretné rendezni a lekérdezést, amelyeket nem az eredmény részeként ad vissza.

Egy mező növekvő és csökkenő sorrendjét a mező adattípusára IComparable vonatkozó interfész implementációja határozza meg. Ha az adattípus nem implementálja az IComparable interfészt, a rendezési sorrend figyelmen kívül lesz hagyva.

1. példa

Az alábbi lekérdezési kifejezés egy záradékkal From deklarál egy tartományváltozót book a books gyűjteményhez. A Order By záradék növekvő sorrendbe rendezi a lekérdezés eredményét ár szerint (az alapértelmezett érték). Az azonos árú könyvek cím szerint vannak rendezve növekvő sorrendben. A Select záradék a Title lekérdezés által visszaadott értékekként választja ki a tulajdonságokat és Price a tulajdonságokat.

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

2. példa

Az alábbi lekérdezési kifejezés a Order By záradékkal rendezi a lekérdezés eredményét ár szerint csökkenő sorrendben. Az azonos árú könyvek cím szerint vannak rendezve növekvő sorrendben.

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

3. példa

A következő lekérdezési kifejezés záradékkal Select választja ki a könyv címét, árát, közzétételi dátumát és szerzőét. Ezután kitölti az Titleúj hatókör tartományváltozójának , Price, PublishDateés Author mezőit. A Order By záradék az új tartományváltozót szerzőnév, könyvcím, majd ár szerint rendeli meg. Minden oszlop az alapértelmezett sorrendben van rendezve (növekvő sorrendben).

Dim bookOrders =
  From book In books
  Select book.Title, book.Price, book.PublishDate, book.Author
  Order By Author, Title, Price

Lásd még