Оракул Роунум в радиусе действия - PullRequest
0 голосов
/ 21 декабря 2018

Как вернуть данные из базы данных Oracle в диапазоне rowum, это не работает

select *from(
select * from t where  date>=sysdate-1 order by date desc
) where ROWNUM>=20 and ROWNUM<=40

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

В Oracle 12C + вы можете использовать offset / fetch:

select *
from t
where date >= sysdate - 1
order by date desc
offset 19 fetch next 21 rows only;
0 голосов
/ 21 декабря 2018

rownum устанавливается, поскольку строки выводятся из запроса, поэтому вам нужно включить его в свой встроенный просмотр и применить фильтр вне представления: -

select * from (
select *, rownum as r from t where  date>=sysdate-1 order by date desc
) where r>=20 and r<=40
...