SQL Server の LIMIT 10..20 質問する

SQL Server の LIMIT 10..20 質問する

私は次のようなことをやろうとしています:

SELECT * FROM table LIMIT 10,20

または

SELECT * FROM table LIMIT 10 OFFSET 10

しかしSQL Serverを使用すると

唯一の私が見つけた解決策やり過ぎのようです:

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10

私も見つかった:

SELECT TOP 10 * FROM stuff; 

...しかし、開始制限を指定できないため、これは私がやりたいことではありません。

他にそれを実行する方法はありますか?

また、ちょっと気になったのですが、SQL Server がこの機能または類似の機能をサポートしない理由があるのでしょうかLIMIT? 意地悪を言うつもりはありませんが、これは DBMS に必要な機能のように思えます... もし必要なら、無知で申し訳ありません! 私は過去 5 年間、MySQL と SQL+ を使ってきましたので...

ベストアンサー1

SQL Server 2012以降の場合使用できます

SELECT  *
FROM     sys.databases
ORDER BY name 
OFFSET  5 ROWS 
FETCH NEXT 5 ROWS ONLY 

おすすめ記事