LIMIT (Entity SQL)

物理的なページングは、ORDER BY 句の LIMIT サブ句を使用して実行できます。LIMIT は ORDER BY 句と切り離して使用することはできません。

[ LIMIT n ]

引数

  • n
    選択する項目の数。

LIMIT 式のサブ句が ORDER BY 句に存在する場合、クエリは並べ替え順序に従って並べ替えられ、結果の行数は LIMIT 式によって制限されます。たとえば、LIMIT 5 は、結果セットを 5 つのインスタンスまたは行に制限します。LIMIT は機能的に TOP と等価ですが、LIMIT では ORDER BY 句が存在する必要がある点が異なります。SKIP および LIMIT は ORDER BY 句と共に別々に使用できます。

[!メモ]

TOP 修飾子と SKIP サブ句が同じクエリ式内に存在する場合には、Entity Sql クエリは無効と見なされます。TOP 式を LIMIT 式に変更してクエリを記述し直す必要があります。

次の Entity SQL クエリでは、SELECT ステートメントで返されたオブジェクトの並べ替え順序の指定に ORDER BY 演算子を LIMIT と共に使用します。このクエリは、AdventureWorks Sales Model に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。

  1. StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。

  2. 次のクエリを引数として ExecuteStructuralTypeQuery メソッドに渡します。

SELECT VALUE p FROM AdventureWorksEntities.Product 
                            AS p order by p.ListPrice LIMIT(5)

出力を次に示します。

ProductID: 317
Name: LL Crankarm
ProductNumber: CA-5965
MakeFlag: False
ProductID: 316
Name: Blade
ProductNumber: BL-2036
MakeFlag: True
ProductID: 4
Name: Headset Ball Bearings
ProductNumber: BE-2908
MakeFlag: False
ProductID: 3
Name: BB Ball Bearing
ProductNumber: BE-2349
MakeFlag: True
ProductID: 2
Name: Bearing Ball
ProductNumber: BA-8327
MakeFlag: False

参照

処理手順

クエリの結果をページングする方法 (Entity Framework)

リファレンス

ORDER BY (Entity SQL)
TOP (Entity SQL)

概念

ページング (Entity SQL)