Вы делаете пагинацию так: SELECT product_id FROM products LIMIT 20 OFFSET 20. В чём главный риск такого подхода для аналитической витрины/интерфейса, если нет ORDER BY?

AЗапрос обязательно вернёт пустой результат, потому что OFFSET нельзя использовать без ORDER BY
BOFFSET считает строки с 1, поэтому будет пропущена 21-я строка
CПорядок строк не определён, поэтому страницы могут пересекаться или «скакать» между запросами
DLIMIT и OFFSET игнорируются, если не указать WHERE
Правильный ответ. LIMIT/OFFSET зависят от порядка строк, поэтому без ORDER BY страницы не стабильны.

Разбор

OFFSET означает «пропусти N первых строк», но понятие «первых» появляется только при заданном порядке. Без ORDER BY СУБД не обязана возвращать строки в одном и том же порядке, поэтому при повторных запросах вы можете увидеть дубликаты на разных страницах или пропуски. Для стабильной пагинации нужен явный ORDER BY (и желательно детерминированный).

Проверь себя · 1/3разбор после ответа
Нужно вывести только оплаченные заказы (status = 'paid') и отсортировать их по времени создания от новых к старым. Какой запрос соответствует задаче?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»