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
, PublishDate
och 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