SQL Serverは、他の回答で指摘され、ドキュメントに記載されているように、句の一部としてOFFSET
and FETCH
句を実装ORDER BY
しています。
反対側のSQL標準には、これらの句の両方が独立しています。
<query expression> ::=
[ <with clause> ] <query expression body>
[ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ]
誰かがこの機能を標準に完全に準拠させて実装したい場合は、接続チャネルを通じていつでもSQL Serverチームに要求を出すことができます。実際、MSはコメントしている-オフセットとフェッチに関する別の要求で:
接続項目:SQLデナリ:合計行カウンターをSELECT
ステートメントに追加 -Alexey Rokhin
回答:マイクロソフトが2010/11/24 11:34に投稿
要件が必要ですが、このリリースで制限です。新しい句が提案されているANSI SQL標準(SQL:2011)では、オプションです。SQL Serverの制限は、予約済みキーワードを作成しないとオプションの構文を処理できないパーサーテクノロジの制限に関係しています。今後削除する可能性があります。OFFSET/FETCH
ORDER BY
OFFSET/FETCH
ORDER BY
OFFSET
今に関して...
それまでは、特定のを使用せずに使用OFFSET
したい場合の回避策は、「何もしない」のorder by句を追加することです。例:FETCH
ORDER BY
SELECT
...
ORDER BY (SELECT NULL)
OFFSET 0 ROWS
FETCH NEXT 1 ROWS ONLY;