Order By 子句 (Visual Basic)

指定查詢結果的排序順序。

語法

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

組件

orderExp1 必要。 目前查詢結果中的一或多個欄位,可識別如何排序傳回值。 欄位名稱必須以逗號分隔 (,)。 您可以使用 AscendingDescending 關鍵字,以遞增或遞減順序排序每個欄位。 如果未指定 AscendingDescending 關鍵字,預設排序順序是遞增。 排序順序欄位的優先順序是從左至右。

備註

您可以使用 Order By 子句來排序查詢的結果。 Order By 子句只能根據目前範圍的範圍變數來排序結果。 例如,Select 子句會在查詢運算式中引進新的範圍,其中包含該範圍的新反覆運算變數。 在查詢中的 Select 子句之前定義的範圍變數無法在 Select 子句之後使用。 因此,如果您想要依 Select 子句無法使用的欄位來排序結果,您必須將 Order By 子句放置在 Select 子句之前。 必須執行此動作的其中一個情況,即是您想要依未傳回做為一部分結果的欄位來排序查詢。

欄位的遞增和遞減順序取決於欄位資料類型的 IComparable 介面實作。 如果資料類型未實作 IComparable 介面,則會忽略排序順序。

範例 1

下列查詢運算式會使用 From 子句來宣告 books 集合的範圍變數 bookOrder By 子句會依價格遞增順序 (預設) 來排序查詢結果。 具有相同價格的書籍會依標題以遞增順序排序。 Select 子句會選取 TitlePrice 屬性作為查詢傳回的值。

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

範例 2

下列查詢運算式會使用 Order By 子句,依價格遞減順序來排序查詢結果。 具有相同價格的書籍會依標題以遞增順序排序。

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

範例 3

下列查詢運算式會使用 Select 子句來選取書籍標題、價格、發行日期和作者。 然後,這會針對新範圍填入範圍變數的 TitlePricePublishDateAuthor 欄位。 Order By 子句會依作者名稱、書籍標題和價格排序新的範圍變數。 每個資料行會依預設順序排序 (遞增)。

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

另請參閱