SQL sql

Paginação SQL com LIMIT e OFFSET

Consulta base para dividir resultados em páginas com uma ordenação estável.

Código
SELECT id, titulo, publicado_em
FROM artigos
WHERE status = 'publicado'
ORDER BY publicado_em DESC, id DESC
LIMIT 20 OFFSET 40;

Quando usar

Use em listagens extensas quando carregar todos os registros de uma vez prejudicaria o tempo de resposta.

Como adaptar ao seu projeto

Calcule o deslocamento como (pagina - 1) × itens_por_pagina. Em aplicações reais, envie limite e offset como inteiros validados.

Antes de publicar

OFFSET alto fica mais caro em tabelas muito grandes. Nesses casos, prefira paginação por cursor usando o último id ou data exibida.

Códigos relacionados