Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa kolejność sortowania dla wyniku zapytania.
Składnia
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
generatora
orderExp1
Wymagane. Co najmniej jedno pole z bieżącego wyniku zapytania, które identyfikuje sposób zamawiania zwracanych wartości. Nazwy pól muszą być oddzielone przecinkami (,). Każde pole można zidentyfikować jako posortowane w kolejności rosnącej lub malejącej przy użyciu Ascending
słów kluczowych lub Descending
. Jeśli nie Ascending
określono słowa kluczowego lub Descending
nie, domyślna kolejność sortowania jest rosnąca. Pola kolejności sortowania mają pierwszeństwo od lewej do prawej.
Uwagi
Możesz użyć klauzuli Order By
, aby posortować wyniki zapytania. Klauzula Order By
może sortować wynik tylko na podstawie zmiennej zakresu dla bieżącego zakresu. Na przykład klauzula Select
wprowadza nowy zakres w wyrażeniu zapytania z nowymi zmiennymi iteracji dla tego zakresu. Zmienne zakresu zdefiniowane przed klauzulą Select
w zapytaniu nie są dostępne po klauzuli Select
. W związku z tym, jeśli chcesz uporządkować wyniki według pola, które nie jest dostępne w klauzuli Select
, musisz umieścić klauzulę Order By
przed klauzulą Select
. Jednym z przykładów tego, kiedy trzeba by to zrobić, jest posortowanie zapytania według pól, które nie są zwracane w ramach wyniku.
Kolejność rosnąca i malejąca dla pola jest określana przez implementację IComparable interfejsu dla typu danych pola. Jeśli typ danych nie implementuje interfejsu IComparable , kolejność sortowania jest ignorowana.
Przykład 1
Następujące wyrażenie zapytania używa klauzuli w From
celu zadeklarowania zmiennej book
zakresu dla kolekcji books
. Klauzula Order By
sortuje wynik zapytania według ceny w kolejności rosnącej (wartość domyślna). Książki o tej samej cenie są sortowane według tytułu w kolejności rosnącej. Klauzula Select
wybiera Title
właściwości i Price
jako wartości zwracane przez zapytanie.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Przykład 2
Następujące wyrażenie zapytania używa klauzuli , Order By
aby posortować wynik zapytania według ceny w kolejności malejącej. Książki o tej samej cenie są sortowane według tytułu w kolejności rosnącej.
Dim titlesDescendingPrice = From book In books
Order By book.Price Descending, book.Title
Select book.Title, book.Price
Przykład 3
Poniższe wyrażenie zapytania używa klauzuli , Select
aby wybrać tytuł książki, cenę, datę publikacji i autora. Następnie wypełnia Title
pola , Price
, PublishDate
i Author
zmiennej zakresu dla nowego zakresu. Klauzula Order By
nakazuje nową zmienną zakresu według nazwy autora, tytułu książki, a następnie ceny. Każda kolumna jest sortowana w kolejności domyślnej (rosnąco).
Dim bookOrders =
From book In books
Select book.Title, book.Price, book.PublishDate, book.Author
Order By Author, Title, Price