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
Git
.gitignore para um projeto web
Base conservadora que evita versionar dependências, segredos locais, logs e arquivos gerados.
JavaScriptBotão para copiar texto com Clipboard API
Função de cópia com retorno visual e alternativa para navegadores sem acesso à API moderna.
ServidorCabeçalhos básicos de segurança no Apache
Conjunto inicial contra interpretação incorreta de arquivos, enquadramento por terceiros e vazamento de referrer.