Dela via


Order by-sats (Visual Basic)

Anger sorteringsordningen för ett frågeresultat.

Syntax

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

Delar

orderExp1 Krävs. Ett eller flera fält från det aktuella frågeresultatet som identifierar hur du beställer de returnerade värdena. Fältnamnen måste avgränsas med kommatecken (,). Du kan identifiera varje fält som sorterat i stigande eller fallande ordning med hjälp av nyckelorden Ascending eller Descending . Om inget Ascending eller Descending nyckelord har angetts är standardsorteringsordningen stigande. Fälten för sorteringsordning ges företräde från vänster till höger.

Kommentarer

Du kan använda Order By -satsen för att sortera resultatet av en fråga. Order By Satsen kan bara sortera ett resultat baserat på intervallvariabeln för det aktuella omfånget. Satsen introducerar till exempel Select ett nytt omfång i ett frågeuttryck med nya iterationsvariabler för det omfånget. Intervallvariabler som definierats före en Select sats i en fråga är inte tillgängliga efter Select -satsen. Om du vill sortera resultatet efter ett fält som inte är tillgängligt i Select -satsen måste du därför placera Order By satsen före Select -satsen. Ett exempel på när du skulle behöva göra detta är när du vill sortera frågan efter fält som inte returneras som en del av resultatet.

Stigande och fallande ordning för ett fält bestäms av implementeringen av IComparable gränssnittet för fältets datatyp. Om datatypen inte implementerar IComparable gränssnittet ignoreras sorteringsordningen.

Exempel 1

Följande frågeuttryck använder en From sats för att deklarera en intervallvariabel book för books samlingen. Order By Satsen sorterar frågeresultatet efter pris i stigande ordning (standard). Böcker med samma pris sorteras efter rubrik i stigande ordning. - Select satsen väljer Title egenskaperna och Price som de värden som returneras av frågan.

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

Exempel 2

Följande frågeuttryck använder Order By -satsen för att sortera frågeresultatet efter pris i fallande ordning. Böcker med samma pris sorteras efter rubrik i stigande ordning.

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

Exempel 3

Följande frågeuttryck använder en Select sats för att välja bokens rubrik, pris, publiceringsdatum och författare. Sedan fylls fälten Title, Price, PublishDateoch i Author intervallvariabeln för det nya omfånget. Order By Satsen beställer den nya intervallvariabeln efter författarens namn, bokrubrik och sedan pris. Varje kolumn sorteras i standardordningen (stigande).

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

Se även