ORACLEの件数指定によるSELECT (MySQLのlimit)
- Sun
- 18:53
- Oracle
MySQLのlimitによる何件目から何件を取得、をOracleで実装。
MySQLの場合
Oracleの場合
注意点は、何番目からの指定方法。
MySQLのstartは0からなのに対し、OracleのROWNUMを使う場合のstartは1から。
また、ROWNUMは各select毎にあるので、件数指定したいROWNUMのカラム名がユニークになるように別名(この例では、rn)を付け、その別名に対して件数指定を行う。
さらに、order byのソートを使う場合は例のようにROWNUM指定の副問い合わせとしてorder byのselectを発行する必要がある。
MySQLの場合
select * from tbl_test order by colA desc limit 0, 10;
Oracleの場合
SELECT * FROM ( SELECT dmy.*, ROWNUM rn FROM ( SELECT * FROM tbl_test WHERE ORDER BY colA DESC ) dmy ) WHERE rn >= 1 AND rn <= 10;
注意点は、何番目からの指定方法。
MySQLのstartは0からなのに対し、OracleのROWNUMを使う場合のstartは1から。
また、ROWNUMは各select毎にあるので、件数指定したいROWNUMのカラム名がユニークになるように別名(この例では、rn)を付け、その別名に対して件数指定を行う。
さらに、order byのソートを使う場合は例のようにROWNUM指定の副問い合わせとしてorder byのselectを発行する必要がある。
- 関連記事
Comment
Trackback
- URL
- https://nosource.blog.fc2.com/tb.php/53-1afb2b5d
- この記事にトラックバック(FC2Blog User)