select top 1
rowid
from
table
where
rowid < row
order by
rowid desc
Это должно дать вам самый большой rowid перед вашей строкой. Вы также можете попробовать ...
select
max(rowid)
from
table
where
rowid < row
... Но по моему опыту первый вариант работает лучше.
Если вы просто хотите количество строк перед вашей целевой строкой. Используйте ...
SELECT COUNT(1) FROM table WHERE rowid < row
По сути, то, что у вас было раньше, но не указывайте столбец, иначе он должен будет проверить этот столбец на наличие нулей при подсчете.
К сожалению, у вас нет доступа к функции "ROW_NUMBER ()", как в MS SQL.
(похожий вопрос относительно SQLLite и нумерации)
sqlite эквивалент row_number () over (разделить на ...?
Надеюсь, это поможет.