Webクリエイティブ集団、アイレット株式会社の代表取締役が綴る
Web制作・開発の気になる最新技術レビュー。  RSS Feeds
スカウター : [iret-ceo] アイレット株式会社CEOブログ

2009年1月22日木曜日

Oracle limit offset

OracleではLimit Offsetがないため処理的に困ることが多い
じゃあどうするかというと
betweenとrow_number() over()を使うとうまくいける

テーブル例
TEST
 SORT NUMBER(1),
TEST_NAME VARCHAR2(256)

例として先頭の10個取ってくるサンプル
select
*
from(
select
row_number() over(ORDER BY SORT) AS NUM,
TEST_NAME
FROM
TEST
ORDER BY SORT
)
WHERE
NUM BETWEEN 0 AND 10

これでかなり楽になりますね