SQLLab
ОсновыНачальный

OFFSET

Пропускает первые N строк результата — используется вместе с LIMIT для постраничного вывода.

Синтаксис
SELECT ... FROM table ORDER BY col LIMIT n OFFSET m;

Объяснение

OFFSET N заставляет базу пропустить первые N строк результата и вернуть то, что идёт после них — обычно в паре с LIMIT для постраничной навигации. Важно: база всё равно читает и сортирует N+LIMIT строк, просто не отдаёт первые N — на больших OFFSET (страница 1000) это медленно. Для production-пагинации быстрее keyset-подход: WHERE id > $last_id ORDER BY id LIMIT n.

Пример

-- Страница 3 по 20 записей
SELECT * FROM posts ORDER BY created_at DESC LIMIT 20 OFFSET 40;

-- Быстрая keyset-пагинация вместо OFFSET
SELECT * FROM posts WHERE id < $last_id ORDER BY id DESC LIMIT 20;