Использование оракула Rownum с ключевым словом Между - PullRequest
3 голосов
/ 06 сентября 2011

Я планирую использовать JDBC Pagination с Oracle (метод на основе запросов). Нет кэширования результатов. Когда я попытался использовать rownum с параметром Option, он не дал никаких результатов

выберите * из mytable, где rownum между 10 и 20;

Но это дало мне результаты.

выберите * из mytable, где rownum <20; <br> Пожалуйста, скажите мне, как решить эту проблему?

Ответы [ 3 ]

4 голосов
/ 06 сентября 2011

Я только что ответил на очень похожий вопрос, один из способов подойти к нему - сделать это:

select *
from
( select rownum rnum, a.*
from (your_query) a
where rownum <= :M )
where rnum >= :N;

Предоставление небольшой обертки для rownum.

Однако я не думаю, что это целесообразно для реализации больших объемов. Хотя я не проверял это.

1 голос
/ 06 сентября 2011

См. этот вопрос для объяснения того, почему BETWEEN не работает с ROWNUM и Oracle & Pagination , и этот для того, как выполнить нумерацию страниц в Oracleзапросы.

0 голосов
/ 23 мая 2019

ВЫБРАТЬ * ОТ ( ВЫБЕРИТЕ rownum AS r, ID, UNIT_NAME ОТ MWT_COMPANY_UNIT)
ГДЕ между 10 и 20

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...