Sdílet prostřednictvím


Order By – klauzule (Visual Basic)

Určuje pořadí řazení výsledku dotazu.

Syntaxe

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

Součástky

orderExp1 Požadované. Jedno nebo více polí z aktuálního výsledku dotazu, které určují pořadí vrácených hodnot. Názvy polí musí být oddělené čárkami (,). Pomocí klíčových slov můžete každé pole identifikovat jako seřazené vzestupně nebo sestupně AscendingDescending . Pokud není zadáno žádné Ascending nebo Descending klíčové slovo, výchozí pořadí řazení je vzestupné. Pole pořadí řazení mají přednost zleva doprava.

Poznámky

Pomocí klauzule můžete Order By výsledky dotazu seřadit. Klauzule Order By může řadit pouze výsledek na základě proměnné rozsahu pro aktuální obor. Klauzule Select například zavádí nový obor ve výrazu dotazu s novými iteračními proměnnými pro tento obor. Proměnné rozsahu definované před Select klauzulí v dotazu nejsou po klauzuli Select k dispozici. Proto pokud chcete výsledky uspořádat podle pole, které není k dispozici v Select klauzuli, musíte před klauzuli vložit Order By klauzuli Select . Jedním z příkladů, kdy byste to museli udělat, je, když chcete dotaz seřadit podle polí, která se nevracejí jako součást výsledku.

Vzestupné a sestupné pořadí pole je určeno implementací IComparable rozhraní pro datový typ pole. Pokud datový typ neimplementuje IComparable rozhraní, pořadí řazení se ignoruje.

Příklad 1

Následující výraz dotazu používá From klauzuli k deklaraci proměnné book rozsahu pro kolekci books . Klauzule Order By seřadí výsledek dotazu podle ceny ve vzestupném pořadí (výchozí). Knihy se stejnou cenou jsou seřazené podle názvu ve vzestupném pořadí. Klauzule Select vybere Title a Price vlastnosti jako hodnoty vrácené dotazem.

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

Příklad 2

Následující výraz dotazu používá Order By klauzuli k seřazení výsledku dotazu podle ceny v sestupném pořadí. Knihy se stejnou cenou jsou seřazené podle názvu ve vzestupném pořadí.

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

Příklad 3

Následující výraz dotazu používá Select klauzuli k výběru názvu knihy, ceny, data publikování a autora. Potom naplní proměnnou rozsahu Title, PricePublishDatea Author pole proměnné rozsahu pro nový obor. Klauzule Order By objedná novou proměnnou rozsahu podle jména autora, názvu knihy a ceny. Každý sloupec je seřazený ve výchozím pořadí (vzestupně).

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

Viz také