Предложение Order By (Visual Basic)

Задает порядок сортировки для результата запроса.

Синтаксис

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

Компоненты

orderExp1
Обязательный элемент. Одно или несколько полей из текущего результата запроса, которые указывают порядок упорядочения возвращаемых значений. Имена полей должны быть разделены запятыми (,). Каждое поле можно задать как отсортированное в порядке возрастания или убывания с помощью Ascending Descending ключевых слов или. Если Ascending Descending ключевое слово or не указано, используется порядок сортировки по возрастанию. Поля порядка сортировки получают приоритет слева направо.

Remarks

Order ByДля сортировки результатов запроса можно использовать предложение. Order ByПредложение может сортировать результат только на основе переменной диапазона для текущей области. Например, Select предложение вводит новую область в выражении запроса с новыми переменными итерации для этой области. Переменные диапазона, определенные перед Select предложением в запросе, недоступны после Select предложения. Поэтому, если требуется упорядочить результаты по полю, которое недоступно в Select предложении, необходимо поместить Order By предложение перед Select предложением. Одним из примеров того, когда это потребуется, является то, что нужно отсортировать запрос по полям, которые не возвращаются как часть результата.

Порядок сортировки для поля по возрастанию и убыванию определяется реализацией IComparable интерфейса для типа данных поля. Если тип данных не реализует IComparable интерфейс, порядок сортировки игнорируется.

Пример

Следующее выражение запроса использует From предложение для объявления переменной диапазона book для books коллекции. Order ByПредложение сортирует результат запроса по цене в возрастающем порядке (по умолчанию). Книги с одинаковой ценой сортируются по названию в возрастающем порядке. SelectПредложение выбирает Title Свойства и в Price качестве значений, возвращаемых запросом.

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

Пример

Следующее выражение запроса использует Order By предложение для сортировки результата запроса по цене в убывающем порядке. Книги с одинаковой ценой сортируются по названию в возрастающем порядке.

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

Пример

Следующее выражение запроса использует Select предложение для выбора названия книги, цены, даты публикации и автора. Затем он заполняет Title Price поля,, PublishDate и Author переменной диапазона для новой области. Order ByПредложение упорядочивает новую переменную диапазона по имени автора, названию книги и стоимости. Каждый столбец сортируется в порядке по умолчанию (по возрастанию).

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

См. также