rownum
必ず1レコード目から評価されるので、中間レコードは取れない。
ROW_NUMBER()を使いなさい、ということ。
SQL> select * from koma_test; ID ---------- 10 1 7 5 3 SQL> select * from (select * from koma_test order by id) where rownum <= 2; ID ---------- 1 3 SQL> select * from (select * from koma_test order by id) where rownum between 2 and 5; レコードが選択されませんでした。 SQL> select * from (select * from koma_test order by id) where rownum >= 2 and rownum <= 5; レコードが選択されませんでした。 SQL> select * from (select * from koma_test order by id) where rownum >= 2; レコードが選択されませんでした。 SQL> select * from (select id, row_number() over (order by id) row_num from koma_test) where row_num between 2 and 5; ID ROW_NUM ---------- ---------- 3 2 5 3 7 4 10 5 SQL>