SELECT para paginação no MySQL
Dica publicada em Banco de Dados / Introdução
SELECT para paginação no MySQL
Este tipo consulta SQL pode ser muito útil para quem
deseja fazer paginação num site ou mesmo numa aplicação
desktop comum, o código é simples e faz uso de duas
palavras-chave: LIMIT e OFFSET.
O código pode ser visto a seguir:
O código pode ser visto a seguir:
SELECT * FROM MinhaTabela LIMIT MeuLimite OFFSET MeuOffset
MeuLimite é o número máximo de linhas que serão selecionadas e MeuOffset é o número de linhas que serão ignoradas antes da primeira ser selecionada.
Assim, por exemplo, a consulta:
SELECT * FROM Produtos LIMIT 15 OFFSET 30
irá selecionar no máximo quinze linhas da tabela produtos a partir da linha de número trinta, mas se a tabela produtos possuir menos que trinta e uma linhas, o resultado será vazio.
O uso de uma outra consulta para descobrir o número total de linhas que a tabela possui (SELECT COUNT(*) FROM MinhaTabela) também pode ser interessante para o cálculo das demais páginas que podem ser acessadas.
Por fim, a principal vantagem de se usar este tipo de consulta ao invés de selecionar todos os campos da tabela e depois filtrar é a praticidade, já que selecionamos apenas o que precisamos, evitando que se escreva o código necessário para filtrar os campos realmente necessários. Além disso, apesar de fazermos uma consulta a mais, as queries do tipo "SELECT COUNT(*)" são muito rápidas e não irão afetar a performance do sistema.