LIMIT y OFFSET

LIMIT y OFFSET le permiten obtener una selección de las filas que se generan con la consulta. El uso combinado de los comandos limite y desplazamiento permite obtener cualquier selección de los resultados. Con LIMIT, puede restringir el número de resultados obtenidos a una cierta cantidad. No se obtendrá más que la cantidad máxima de filas (posiblemente menos si la consulta devuelve menos filas). Con OFFSET, puede omitir una cierta cantidad de filas antes de comenzar a devolver las filas resultantes de la consulta. Si se definen OFFSET y LIMIT, entonces se omite la cantidad de filas de OFFSET antes de empezar a contar la cantidad de filas de LIMIT que se devuelven.

Al usar LIMIT y OFFSET (para intentar obtener un cierto rango de valores), es importante que use la cláusula ORDER BY. De esta forma, se colocarán las filas resultantes en un orden exclusivo. Si no, obtendrá un subconjunto impredecible de filas de la consulta.

Por ejemplo, la siguiente instrucción de seleccionar aplica un filtro en la cláusula where, ordena el resultado a través de ORDER BY y devuelve las 20 primeras filas, empezando desde la fila 50 en los resultados:



SELECT * from <NAMED_TABLE> WHERE <SOME_CONDITION> ORDER BY <COLUMN_NAME> LIMIT 20 OFFSET 50   

		

Donde:

  • NAMED_TABLE es la fuente de datos de la consulta en la forma de una tabla con nombre asignado
  • SOME_CONDITION es una condición de la cláusula where MI SQL válida
  • NOM_COLUMNA es una columna válida en la tabla