共用方式為


Order By 子句 (Visual Basic)

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

語法

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

組件

orderExp1 必填。 來自目前查詢結果的一或多個字段,可識別如何排序傳回的值。 功能變數名稱必須以逗號 (,) 分隔。 您可以使用 或 Descending 關鍵詞,將每個字段識別為以遞增或遞減順序Ascending排序。 Ascending如果未指定 或 Descending 關鍵詞,則預設排序順序會遞增。 排序順序欄位的優先順序是從左至右。

備註

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

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

範例 1

下列查詢表達式會使用 From 子句來宣告集合的範圍變數bookbooks。 子句會 Order By 依價格以遞增順序排序查詢結果(預設值)。 具有相同價格的書籍會以遞增順序依標題排序。 子句會將 SelectTitlePrice 屬性選取為查詢所傳回的值。

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 子句來選取書籍標題、價格、發行日期和作者。 然後,它會填入Title新範圍範圍範圍變數的、 PricePublishDate、 和 Author 欄位。 子 Order By 句會依作者名稱、書名和價格來排序新的範圍變數。 每個數據行都會以預設順序排序(遞增)。

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

另請參閱