Share via


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 , Priceen PublishDateAuthor de Titlevelden 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

Zie ook