LÍMITE de MySQL & OFFSET con ejemplos

Anonim

¿Qué es la palabra clave LIMIT?

La palabra clave limit se usa para limitar el número de filas devueltas en el resultado de una consulta.

Se puede utilizar junto con los comandos SELECT, UPDATE O DELETE LIMIT sintaxis de palabras clave

La sintaxis de la palabra clave LIMIT es la siguiente

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

AQUÍ

  • "SELECT {fieldname (s) | *} FROM tableName (s)" es la declaración SELECT que contiene los campos que nos gustaría devolver en nuestra consulta.
  • "[DONDE condición]" es opcional, pero cuando se proporciona, se puede utilizar para especificar un filtro en el conjunto de resultados.
  • "LIMIT N" es la palabra clave y N es cualquier número que comience desde 0, poniendo 0 ya que el límite no devuelve ningún registro en la consulta. Poner un número digamos 5 devolverá cinco registros. Si los registros de la tabla especificada son menores que N, todos los registros de la tabla consultada se devuelven en el conjunto de resultados.

Veamos un ejemplo -

SELECT * FROM members LIMIT 2;
 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL

Como puede ver en la captura de pantalla anterior, solo se han devuelto dos miembros.

Obtener una lista de diez (10) miembros solo de la base de datos

Supongamos que queremos obtener una lista de los primeros 10 miembros registrados de la base de datos de Myflix. Usaríamos el siguiente script para lograrlo.

SELECT * FROM members LIMIT 10;

La ejecución del script anterior nos da los resultados que se muestran a continuación.

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

Tenga en cuenta que solo se han devuelto 9 miembros en nuestra consulta, ya que N en la cláusula LIMIT es mayor que el número total de registros en nuestra tabla.

Reescribiendo el script anterior de la siguiente manera

SELECT * FROM members LIMIT 9;

Solo devuelve 9 filas en nuestro conjunto de resultados de consulta.

Usando el OFF SET en la consulta LIMIT

El valor OFF SET también se usa con mayor frecuencia junto con la palabra clave LIMIT. El valor OFF SET nos permite especificar en qué fila comenzar a recuperar datos

Supongamos que queremos obtener un número limitado de miembros comenzando desde el medio de las filas, podemos usar la palabra clave LIMIT junto con el valor de compensación para lograrlo. El script que se muestra a continuación obtiene datos a partir de la segunda fila y limita los resultados a 2.

SELECT * FROM `members` LIMIT 1, 2;

La ejecución del script anterior en MySQL workbench contra myflixdb da los siguientes resultados.

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

¿Cuándo debemos usar la palabra clave LIMIT?

Supongamos que estamos desarrollando la aplicación que se ejecuta sobre myflixdb. Nuestro diseñador de sistemas nos ha pedido que limitemos la cantidad de registros que se muestran en una página a 20 registros por página para contrarrestar los tiempos de carga lentos. ¿Cómo implementamos el sistema que cumpla con los requisitos de los usuarios? La palabra clave LIMIT es útil en tales situaciones. Podríamos limitar los resultados devueltos de una consulta a 20 registros solo por página.

Resumen

  • La palabra clave LIMIT de se utiliza para limitar el número de filas devueltas de un conjunto de resultados.
  • El número LÍMITE puede ser cualquier número desde cero (0) hacia arriba. Cuando se especifica cero (0) como límite, no se devuelven filas del conjunto de resultados.
  • El valor OFF SET nos permite especificar en qué fila comenzar a recuperar datos
  • Se puede utilizar junto con los comandos SELECT, UPDATE O DELETE LIMIT sintaxis de palabras clave