2013-11-03 26 views
13
次のように私は私のSQL Server上でこのクエリを実行したい

SQL ServerでOFFSET/FETCHクエリをクエリできないのはなぜですか?

のMicrosoft SQL Server Management Studioを10.50.1600.1

しかし、それはOFFSETので示しERRORを認識できないのですか?

SELECT * FROM dbo.tbl_MatchDetail 
ORDER BY MatchDetailID 
OFFSET 10 ROWS 
FETCH NEXT 10 ROWS ONLY; 
+6

表示される構文は、明らかにSQL Server 2012に導入されているため、タグごとにSQL Server 2008を使用している場合は問題です。代替案については、[この質問](http://stackoverflow.com/q/2135418/157957)を参照してください。 – IMSoP

+0

ok thanxには、MSSQL 2008 R2の同等の構文がありますか? – Milson

+1

リンク先の質問への回答をご覧ください。 – IMSoP

答えて

22

は、新しい機能がSQL Server 2012に追加され、2008年

+0

のMicrosoft SQL Server Management Studioを\t \t \t \t \t \t 12.0.1524.0 これは、MSSQL 2014 CTP2まだOFFSETキーワードを指定して上記のように、私のMSSQL情報がなぜ有効ではありませんか? – Milson

+0

OFFSET 10 ROWS FETCH NEXT 10 ROWSのみ。 –

+1

最後にキーワードのみを追加します。 –

13

あなたは順序を持っていない場合、あなたも2014年にエラーが発生しますのでご注意くださいSQLサーバーに存在しないFETCH OFFSET 。オフセットはorder byステートメントに従わなければなりません。

+3

これは私に多くの時間をくれた、感謝の仲間 –

関連する問題