Order by-component (Visual Basic)
Hiermee geeft u de sorteervolgorde voor een queryresultaat.
Syntaxis
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
generator
orderExp1
Vereist. Een of meer velden uit het huidige queryresultaat waarmee wordt bepaald hoe de geretourneerde waarden moeten worden gesorteerd. De veldnamen moeten worden gescheiden door komma's (,). U kunt elk veld identificeren als gesorteerd in oplopende of aflopende volgorde met behulp van de Ascending
of Descending
trefwoorden. Als er geen Ascending
of Descending
trefwoord is opgegeven, wordt de standaardsorteerdervolgorde oplopend. De sorteervolgordevelden krijgen prioriteit van links naar rechts.
Opmerkingen
U kunt de Order By
component gebruiken om de resultaten van een query te sorteren. De Order By
component kan alleen een resultaat sorteren op basis van de bereikvariabele voor het huidige bereik. De component introduceert bijvoorbeeld Select
een nieuw bereik in een query-expressie met nieuwe iteratievariabelen voor dat bereik. Bereikvariabelen die zijn gedefinieerd vóór een Select
component in een query, zijn niet beschikbaar na de Select
component. Als u de resultaten daarom wilt ordenen op basis van een veld dat niet beschikbaar is in de Select
component, moet u de Order By
component vóór de Select
component plaatsen. Een voorbeeld van wanneer u dit moet doen, is wanneer u de query wilt sorteren op velden die niet worden geretourneerd als onderdeel van het resultaat.
Oplopende en aflopende volgorde voor een veld wordt bepaald door de implementatie van de IComparable interface voor het gegevenstype van het veld. Als het gegevenstype de IComparable interface niet implementeert, wordt de sorteervolgorde genegeerd.
Voorbeeld 1
In de volgende query-expressie wordt een From
component gebruikt om een bereikvariabele book
voor de books
verzameling te declareren. De Order By
component sorteert het queryresultaat op prijs in oplopende volgorde (de standaardinstelling). Boeken met dezelfde prijs worden gesorteerd op titel in oplopende volgorde. De Select
component selecteert de Title
en Price
eigenschappen als de waarden die door de query worden geretourneerd.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Voorbeeld 2
In de volgende query-expressie wordt de component gebruikt om het Order By
queryresultaat te sorteren op prijs in aflopende volgorde. Boeken met dezelfde prijs worden gesorteerd op titel in oplopende volgorde.
Dim titlesDescendingPrice = From book In books
Order By book.Price Descending, book.Title
Select book.Title, book.Price
Voorbeeld 3
In de volgende query-expressie wordt een Select
component gebruikt om de boektitel, prijs, publicatiedatum en auteur te selecteren. Vervolgens worden de , Price
en PublishDate
Author
de Title
velden van de bereikvariabele voor het nieuwe bereik ingevuld. Met Order By
de component wordt de nieuwe bereikvariabele gesorteerd op naam van de auteur, boektitel en vervolgens op prijs. Elke kolom wordt gesorteerd in de standaardvolgorde (oplopend).
Dim bookOrders =
From book In books
Select book.Title, book.Price, book.PublishDate, book.Author
Order By Author, Title, Price