Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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 [...] ]
Części
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 Titlepola , Price, PublishDatei 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