Order By 句 (Visual Basic)
クエリ結果の並べ替え順序を指定します。
構文
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
指定項目
orderExp1
必須。 返される値の順序付け方法を示す、現在のクエリ結果の 1 つまたは複数のフィールド。 フィールド名は、コンマ (,) で区切る必要があります。 Ascending
または Descending
キーワードを使用して、昇順または降順で並べ替えて各フィールドを識別できます。 Ascending
または Descending
キーワードが指定されていない場合、既定の並べ替え順序は昇順です。 並べ替え順序のフィールドは、左から右に優先されます。
Remarks
Order By
句を使用して、クエリの結果を並べ替えることができます。 Order By
句では、現在のスコープの範囲変数に基づいてのみ結果を並べ替えることができます。 たとえば、Select
句では、クエリ式に新しいスコープを導入し、そのスコープの新しい繰り返し変数を指定します。 クエリ内の Select
句の前に定義された範囲変数は、Select
句の後では使用できません。 そのため、Select
句で使用できないフィールドで結果を並べ替える場合は、Order By
句を Select
句の前に配置する必要があります。 これを行う必要がある場合の 1 つの例は、結果の一部として返されないフィールドによってクエリを並べ替える場合です。
フィールドの昇順と降順の順序は、フィールドのデータ型の IComparable インターフェイスの実装によって決まります。 データ型で IComparable インターフェイスを実装していない場合、並べ替え順序は無視されます。
例 1
次のクエリ式では、From
句を使用して、books
コレクションに対して book
範囲変数を宣言しています。 Order By
句によって、クエリの結果を価格の昇順で並べ替えます (既定値)。 同じ価格の書籍は、タイトルの昇順で並べ替えます。 Select
句によって、クエリで返される値として Title
および Price
プロパティを選択します。
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
、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
関連項目
.NET