Я знаю, что это старо, но я не видел подобного ответа, поэтому я бы использовал это решение.
Сначала я выполнил бы запрос подсчета к таблице, чтобы увидеть, сколько существует записей. Этот запрос быстрый и обычно время выполнения незначительно. Что-то вроде:
SELECT COUNT(*) FROM table_name;
Затем я построил бы свой запрос, используя результат, полученный из count в качестве моего предела (так как это максимальное количество строк, которое может вернуть таблица). Что-то вроде:
SELECT * FROM table_name LIMIT count_result OFFSET desired_offset;
Или, возможно, что-то вроде:
SELECT * FROM table_name LIMIT desired_offset, count_result;
Конечно, если необходимо, вы можете вычесть требуемый_смещение из счетчика_результатов, чтобы получить фактическое, точное значение для предоставления в качестве предела. Передача значения «18446744073709551610» просто не имеет смысла, если я действительно могу определить подходящий предел для предоставления.