- ベストアンサー
○件目~△件目のみ抽出したい
はじめて教えてgooを利用させていただきます。 質問ですが、たとえば、 SELECT 項目1, 項目2, 項目3 FROM テーブルA WHERE 項目1 = 1 ORDER BY 項目2 の結果セットの内、上から30件目~60件目だけ欲しいのですが、 どう記述すればいいのか悩んでいます。 いい方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SQL Serverはあまり詳しくないんですが、TOP句を組み合わせて使うのが一般的なようです。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11020&forum=7 ORACLEならROWNUMで簡単にできるんですけどね。
その他の回答 (1)
- anmochi
- ベストアンサー率65% (1332/2045)
回答No.1
残念ながら、SQL Serverにはこの機能が備わっていないのです。なので、29行を読み飛ばした後31行を読み込むという処理が必要なのです。
質問者
お礼
ご回答ありがとうございます。 残念です。。。。 xml出力用に、SELECT文一発でなんとかしたいのです(泣) TOP30 とか先頭からは取れるので、 TOP30を除いた残り分のTOP30が取れないでしょうか? それか、結果セットに連番フィールドを追加できないでしょうか? もうちょっと考えてみます。
質問者
補足
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9418&forum=7 を参考にさせていただき出来ました。 ありがとうございました。
お礼
ありがとうございます。 お教えいただいたリンク先に 試してみようと思ったようなコードサンプルが ありました。 今からやってみますね。
補足
ストアドの書き方で SELECT TOP m * FROM table のmを変数で指定したいのですが、 書き方がわからないので、苦戦しています。