Постраничный просмотр данных в SQL с использованием LIMIT и OFFSET работает следующим образом. 1
LIMIT указывает, сколько строк возвращать, а OFFSET — на сколько строк пропускать. 3 Например, если нужно выводить по два товара на странице, то в LIMIT прописывается двойка, а для OFFSET изначально ставится 0: 1
SELECT * FROM products WHERE count > 0 ORDER BY price DESC LIMIT 2 OFFSET 0
После запуска SQL-запроса будут выведены два самых дорогих товара, которые будут отображаться на первой странице. 1
Для получения данных на следующей странице нужно пропустить первые два товара: 1
SELECT * FROM products WHERE count > 0 ORDER BY price DESC LIMIT 2 OFFSET 2
Для получения данных на третьей странице можно воспользоваться формулой: (P — 1) x N, где P — это номер нужной страницы, а N — количество товаров, которые выводятся на странице. 1 Значение N фиксировано и указывается в блоке LIMIT, а значение P выбирается из набора целых чисел: 1, 2, 3 и т. д.. 1 Результат вычисления подставляется в блок OFFSET. 1 Например, для третьей страницы расчёт будет таким: (3 — 1) x 2 = 4, значит, в OFFSET ставится 4. 1
При использовании LIMIT и OFFSET всегда нужно использовать оператор ORDER BY для корректной работы запроса. 24