Paginando resultados no MySQL
23 Apr 2012Em muitos casos, possuimos uma quantidade gigantesca de dados porém gostaríamos de exibir os resultados para o usuário de uma forma mais organizada, dividindo os dados em pequenas porções, para que a navegação e a visualização se torne mais agradável. Isto é feito através da paginação.
No MySQL podemos paginar resultados basicamente através de dois comandos: o comando LIMIT e o comando OFFSET. Nos dois casos, precisamos informar a partir de qual registro os resultados serão exibidos.
Vamos a um exemplo utilizando somente o comando LIMIT:
SELECT * FROM clientes LIMIT 10, 30
No comando acima, informamos que desejamos selecionar 30 clientes, exibindo apenas os registros a partir do registro 10.
Vamos a um exemplo utilizando o comando LIMIT em conjunto com o comando OFFSET:
SELECT * FROM clientes LIMIT 30 OFFSET 5
Já no exemplo acima, informamos que desejamos exibir 30 registros, dizemos isto ao MySQL através do comando LIMIT, e informamos que desejamos começar a partir do registro 5, informamos isto através do comando OFFSET.
Portanto, não há diferenças em utilizar o comando LIMIT ou o comando OFFSET, pois o MySQL inclui o comando OFFSET como uma forma de manter a compatibilidade com outros SGBDs como o PostgreSQL por exemplo.
Até a próxima 😉