Если я не читаю ваш вопрос неправильно, лучшее, что вы можете сделать, это:
DECLARE mycursor CURSOR FOR
SELECT *, rank() OVER (ORDER BY somedate) FROM mytable ORDER BY somedate;
Если вы знаете номер строки заранее, вы можете сразу перейти к нему с помощью перемещения / выборки; и если вы не хотите, но хотите знать это, вы можете получить к нему доступ, используя при получении.
Тем не менее, обратите внимание, что сам запрос будет медленнее. Так что вам будет лучше использовать limit/offet
, если вы уже знаете положение своей строки, или считать строки по мере выхода из приложения, если вы этого не делаете.