• ベストアンサー

任意値を取得について

sql serverで、先頭からではなく、任意の範囲だけレコードを取り出したいが、limitとoffsetのような方法がありますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Xaval
  • ベストアンサー率58% (61/105)
回答No.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と一致させる

関連するQ&A