- ベストアンサー
任意値を取得について
sql serverで、先頭からではなく、任意の範囲だけレコードを取り出したいが、limitとoffsetのような方法がありますか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQL Serve 2005なら、ROW_NUMBER()がありますので、それとBETWEENを使う方法があります。ネットで検索できます。 それより古いバージョンなら、一発で出来る方法は無く、以下のコードを参考にしてください。 -- OFFSETは0から始まるとします。 SELECT TOP(@LENGTH) id FROM [TABLE1] T1 WHERE id NOT IN ( SELECT TOP(@OFFSET) id FROM T1 ORDER BY id ASC -- ↓のORDER BYと一致させる ) ORDER BY id ASC -- ↑のORDER BYと一致させる