リファレンスガイド> TDV SQLのキーワードと構文> OFFSETとFETCH
 
OFFSETとFETCH
テーブルがソートされるとき(できれば主キーでORDER BYを使用して)、OFFSETを使用して指定された行数をスキップできます。 OFFSETは通常、ページ付けをサポートするためにFETCHNEXT値ROWSONLYと組み合わされ、主キーでソートされたテーブル内の行の特定のサブセットを選択します。
注:このオプション、MAX_ROWS_LIMIT、OFFSET、FETCH、およびmaxRows JDBC/ODBCパラメーターがどのように連携するかについては、MAX_ROWS_LIMIT(SELECTオプション)を参照してください。。
構文
SELECT *
FROM /table_path/table_name
ORDER BY column_name_PK
OFFSET value1 ROWS FETCH NEXT value2 ROWS ONLY
 
構文では、column_name_PKは一貫したテーブルの順序を保証する主キーであり、value1はスキップする行数、value2はソースからフェッチする行数です。
備考
目的の行のページ表示のための信頼できるサブセットの表示の再現性を確保するために、主キーのORDER BYとともにOFFSETを使用することをお勧めします。 ORDER BYを使用した並べ替えは、どの列でも実行できますが、テーブルが急激に変化する場合、順序は保証されません。より予測可能な方法で変化するテーブルは、許容できる一貫性のある出力を持つ任意の列で安全にソートできる可能性があります。
この関数は最上位のSELECTにのみ適用され、OFFSETおよびFETCHを指定するクエリからの結果セットは、他の呼び出しとは独立して実行されます。
注: OFFSETおよびFETCHはTDVビューでは使用しないでください。
SELECT orderdetails.OrderDetailID,
orderdetails.OrderID,
orderdetails.ProductID,
   orderdetails.Status,
FROM /shared/examples/ds_orders/orderdetails
ORDER BY OrderDetailID
OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY
 
この例では、OrderDetailIDが主キーであり、OFFSET行は、クエリエンジンに最初の10行をスキップして、次の10行を返すように指示します。