So-net無料ブログ作成
検索選択

Oracle ROWNUMでの範囲指定 [Oracle]

Oracleで行の範囲指定って面倒くさい。
MySQLやPostgreSQLの offset や limit に慣れてただけにちょっと苦痛。

これはOK。
select * from TEST where rownum<=10;


これもOK。
select * from TEST where rownum between 1 and 10;


以下NG。
select * from HOGE where rownum > 10 and rownum <=20;


select * from TEST where rownum between 11 and 20;



こうすればOK。
select * from (select TEST.*,rownum as rownum1 from TEST) where rownum1 between 11 and 20;

※デカいテーブルの場合はもうちょっと工夫が必要。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。