CPA-Мастер
Блог о заработке на партнёрских программах в CPA-сетях

Аналог LIMIT и OFFSET в Oracle 11gR2

Для того, чтобы ограничить количество результатов запроса, в MySQL и базах данных Oracle начиная с версии 12g существуют конструкции с LIMIT и OFFSET. LIMIT указывает количество записей, которое мы хотим получить, а OFFSET сколько записей нужно пропустить. В версии 11gR2, с которой я работаю, нет такой возможности и приходится хитрить с несколькими субселектами.

select * from  (
    select t.*, rownum rnum from (
        select * from test_table order by column_name
    ) t where rownum <= i
)  where rnum  >= j;

Внешние два селекта выполняются только для того, чтобы можно было указать первую и последнюю запись, которую мы хотим получить. Например, чтобы получить вторую запись, переменные i и j должны иметь значение 2, а чтобы получить пятую по десятую запись, нужно указать в условиях 5 и 10.

Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!

Leave a comment

Your email address will not be published.

*