こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

任意値を取得について

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

投稿日時 - 2006-11-28 18:37:11

QNo.2568123

困ってます

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

参考URLで各バージョン毎の動作と誤用について詳しく言及されています。

参考URL:http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-489965&bbsid=1&no=97577&view=9

投稿日時 - 2006-11-28 22:09:54

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

解決策はMZ-80BさんのURLを参考にしていただくとして・・・
ROWNUMは抽出できた行に対して値が設定されます。
抽出できた行に対しROWNUMが1,2,3,4,・・・と振られていくわけです(抽出条件にはROWNUMの条件も当然含みます)。
ANo.2のような書き方の場合、データは抽出されません。

#ちょっと誤解を招く可能性があるため補足しました。
#ちょっとわかりにくいかな(^^;
#ただの補足なのでポイント辞退

投稿日時 - 2006-11-29 00:14:57

補足

SQL SERVERの場合は
SELECT TOP 10 FROM 表;

任意値を取得することができますか、宜しくお願いします。

投稿日時 - 2006-11-29 10:42:38

ANo.2

惜しいですね。
where rownum between 100 and 200
という感じです。

投稿日時 - 2006-11-28 20:52:12

ANo.1

一応 rownum を使えばそれっぽくできますが。

投稿日時 - 2006-11-28 18:48:09

補足

Where between ROWNUM >= 数値 and ROWNUM <= 数値

このような書き方ですか。

投稿日時 - 2006-11-28 18:59:03

あなたにオススメの質問