Order By 句 (Visual Basic)Order By Clause (Visual Basic)

クエリ結果の並べ替え順序を指定します。Specifies the sort order for a query result.


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


必須。Required. 1 つまたは複数のフィールド現在のクエリ結果からの返された値を並べ替える方法を識別します。One or more fields from the current query result that identify how to order the returned values. フィールド名は、コンマ (,) で区切る必要があります。The field names must be separated by commas (,). 昇順または降順を使用して、ソート済みとしては、各フィールドを識別できます、AscendingまたはDescendingキーワード。You can identify each field as sorted in ascending or descending order by using the Ascending or Descending keywords. ない場合はAscendingまたはDescendingキーワードを指定すると、既定の並べ替え順序は昇順です。If no Ascending or Descending keyword is specified, the default sort order is ascending. 並べ替え順序のフィールドには、左から右への優先順位が与えられます。The sort order fields are given precedence from left to right.


使用することができます、Order By句、クエリの結果を並べ替えます。You can use the Order By clause to sort the results of a query. Order By句では、現在のスコープの範囲変数に基づく結果を並べ替えることができますのみです。The Order By clause can only sort a result based on the range variable for the current scope. たとえば、Select句にそのスコープの新しい反復変数をクエリ式での新しいスコープが導入されています。For example, the Select clause introduces a new scope in a query expression with new iteration variables for that scope. 範囲変数を定義する前に、Selectクエリ句は使用後に、Select句。Range variables defined before a Select clause in a query are not available after the Select clause. そのため、記載されていないフィールドで、結果の順序をする場合、Select句に配置する必要がある、Order By句の前に、Select句。Therefore, if you want to order your results by a field that is not available in the Select clause, you must put the Order By clause before the Select clause. 1 つのときにこれを行う必要があるには例が、結果の一部として返されないフィールドで、クエリの並べ替えを行うときにします。One example of when you would have to do this is when you want to sort your query by fields that are not returned as part of the result.

昇順と降順の実装によって、フィールドが特定の順序、IComparableフィールドのデータ型のインターフェイス。Ascending and descending order for a field is determined by the implementation of the IComparable interface for the data type of the field. データ型が実装していない場合、IComparableインターフェイス、並べ替え順序は無視されます。If the data type does not implement the IComparable interface, the sort order is ignored.


次のクエリ式は、From範囲変数を宣言する句bookbooksコレクション。The following query expression uses a From clause to declare a range variable book for the books collection. Order By句で昇順に並べ替えます (既定値) の価格をクエリの結果を並べ替えます。The Order By clause sorts the query result by price in ascending order (the default). 同じ価格ブックは、タイトルの昇順で並べ替えられます。Books with the same price are sorted by title in ascending order. Select句を選択、TitlePriceプロパティとして、クエリによって返される値。The Select clause selects the Title and Price properties as the values returned by the query.

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


次のクエリ式は、Order By降順で価格をクエリ結果を並べ替えるための句。The following query expression uses the Order By clause to sort the query result by price in descending order. 同じ価格ブックは、タイトルの昇順で並べ替えられます。Books with the same price are sorted by title in ascending order.

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


次のクエリ式は、Select句を書籍のタイトルを選択し、価格、発行日、作成します。The following query expression uses a Select clause to select the book title, price, publish date, and author. 設定し、 TitlePricePublishDateAuthor新しいスコープの範囲変数のフィールド。It then populates the Title, Price, PublishDate, and Author fields of the range variable for the new scope. Order By句の作成者の名前、書籍のタイトル、および価格によって新しい範囲変数の順序。The Order By clause orders the new range variable by author name, book title, and then price. 各列は、既定の順序 (昇順) で並べ替えられます。Each column is sorted in the default order (ascending).

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

関連項目See also