ORACLEで範囲指定する方法
ORACLEにはMySQLのようにLIMITがないのでROWNUMを利用して範囲指定を行う。
SELECT c.id FROM ( SELECT ROWNUM rn, b.id FROM ( SELECT a.id FROM table a ORDER BY a.id ) b ) c WHERE c.rn > 2 AND c.rn <5;
MINUSを使った方がパフォーマンスが早い場合がある。
SELECT b.id FROM ( SELECT a.id FROM table a ORDER BY a.id ) b WHERE ROWNUM <= 6 MINUS SELECT b.id FROM ( SELECT a.id FROM table a ORDER BY a.id ) b WHERE ROWNUM < 3