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 に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。
「StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。
次のクエリを引数として
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)