私は次のようなことをやろうとしています:
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 +を使用してきたので...
ROW_NUMBER()
制限することTOP
は、WHERE
私が達成できた最良の方法です。TOP
句が変数ではなくリテラルを使用する場合、パフォーマンスが大幅に向上することにも気づきました