@ elcool's решение - разумная идея, но вам нужно знать общее количество строк (которое может даже измениться во время выполнения запроса!). Поэтому я предлагаю модифицированную версию, которая, к сожалению, нуждается в 3 подзапросах вместо 2:
select * from (
select * from (
select * from MYLIB.MYTABLE
order by MYID asc
fetch first {last} rows only
) I
order by MYID desc
fetch first {length} rows only
) II
order by MYID asc
, где {last}
должен быть заменен номером строки последней нужной мне записи, а {length}
должен быть заменен количеством нужных мне строк, рассчитанным как last row - first row + 1
.
например. если я хочу строки от 10 до 25 (всего 16 строк), {last}
будет 25, а {length}
будет 25-10 + 1 = 16.