Consideraciones para limitar los resultados de una consulta en Mysql

Les comento brevemente algunas consideraciones para el uso de LIMIT en un SELECT en Mysql. El formato es el siguiente:

... LIMIT <NRO-FILAS>|<POSICION>,<CANTIDAD>

Si se utiliza un único parámetro NRO-FILAS, entonces se obtiene esa cantidad de registros como máximo en el resultado.

Si se utiliza la forma con los 2 parámetros, POSICION se refiere a un offset en los resultados obtenidos y CANTIDAD al número de registros a considerar desde POSICION. Muy importante: la primer POSICION es 0!

Por compatibilidad con PostgreSQL, existe también la forma alternativa:

... LIMIT <CANTIDAD> OFFSET <POSICION>

Por lo general, cuando se limite la cantidad de resultados, los mismos se habrán solicitado en un orden, por lo que la cláusula ORDER BY se indica siempre antes que LIMIT.

Ejemplo:

En todas las sentencias indicadas a contiuación, se obtienen las 5 notas más recientes:

SELECT id, texto, fecha FROM notas ORDER BY fecha DESC LIMIT 5;

SELECT id, texto, fecha FROM notas ORDER BY fecha DESC LIMIT 0,5; #Empieza en 0!

SELECT id, texto, fecha FROM notas ORDER BY fecha DESC LIMIT 4 OFFSET 0; #Compatibilidad con PostgreSQL

Tagged with: , ,
Publicado en Aplicaciones