MySQL LIMIT

resumen: en este tutorial, aprenderá a usar la cláusula MySQL LIMIT para restringir el número de filas devueltas por una consulta.

introducción a la cláusula de límite de MySQL

la cláusulaLIMIT se utiliza en la instrucciónSELECT para restringir el número de filas a devolver. La cláusula LIMIT Acepta uno o dos argumentos. Los valores de ambos argumentos deben ser cero o enteros positivos.,

el siguiente ejemplo muestra El LIMIT la sintaxis de la cláusula con dos argumentos:

Code language: SQL (Structured Query Language) (sql)

En esta sintaxis:

  • offset especifica el desplazamiento de la primera fila para volver. El offset de la primera fila es 0, No 1.
  • El row_count especifica el número máximo de filas a devolver.,

La siguiente imagen ilustra el LIMIT cláusula:

Cuando se utiliza la etiqueta LIMIT cláusula con un argumento, MySQL utilizar este argumento para determinar el número máximo de filas que se devuelven desde la primera fila del conjunto de resultados.,

por lo Tanto, estas dos cláusulas son equivalentes:

Code language: SQL (Structured Query Language) (sql)

Y

además De la sintaxis anterior, MySQL proporciona la siguiente alternativa LIMIT cláusula de compatibilidad con PostgreSQL.

Code language: SQL (Structured Query Language) (sql)

cláusulas límite y orden por

la instrucción SELECT sin una cláusula ORDER BY devuelve filas en un orden no especificado. Significa que las filas pueden estar en cualquier orden., Cuando aplique la cláusula LIMIT a este conjunto de resultados desordenado, no sabrá qué filas devolverá la consulta.

por ejemplo, es posible que desee obtener de la quinta a la décima filas, pero de la quinta a la décima en qué orden? El orden de las filas es desconocido a menos que especifique la cláusula ORDER BY.

por lo tanto, es una buena práctica usar siempre la cláusula LIMIT con la cláusula ORDER BY para restringir las filas de resultados en orden único.,

Code language: SQL (Structured Query Language) (sql)

La siguiente imagen ilustra el orden de evaluación de los LIMIT cláusula en el SELECT instrucción:

MySQL ejemplos de LÍMITE de

vamos a utilizar la etiqueta customers tabla de la base de datos de ejemplo para la demostración.,

1) usando MySQL LIMIT para obtener las filas más altas o más bajas

Esta instrucción utiliza la cláusula LIMIT clientes que tienen el crédito más alto:

Code language: SQL (Structured Query Language) (sql)

pruébelo

en este ejemplo:

  • Primero, la cláusula ORDER BY ordena a los clientes por créditos en alto a bajo.,
  • Luego, la cláusula LIMIT devuelve las primeras 5 filas.

de manera similar, este ejemplo utiliza la cláusula LIMIT para encontrar 5 clientes que tienen los créditos más bajos:

Code language: SQL (Structured Query Language) (sql)

pruébelo

en este ejemplo:

  • Primero, la cláusula ORDER BY ordena a los clientes por créditos en bajo a alto.
  • Luego, la cláusula LIMIT devuelve las primeras 5 filas.,

debido a que hay más de 5 clientes que tienen créditos cero, el resultado de la consulta anterior puede conducir a un resultado inconsistente.,

para solucionar este problema, debe agregar más columna a la cláusula ORDER BY para restringir la fila en orden único:

Code language: SQL (Structured Query Language) (sql)

pruébelo

2) usando MySQL Limit para paginación

Cuando muestra datos en aplicaciones, a menudo desea dividir filas en páginas, donde cada página contiene un cierto número de filas como 5, 10 o 20.

para calcular el número de páginas, obtiene las filas totales divididas por el número de filas por página., Para obtener filas de una página específica, puede usar la cláusula LIMIT.

esta consulta utiliza la función COUNT(*) aggregate para obtener las filas Totales de la tabla customers:

Code language: SQL (Structured Query Language) (sql)
Code language: JavaScript (javascript)

supongamos que cada página tiene 10 filas, para mostrar 122 clientes tienes 13 páginas. La última página 13 contiene solo dos filas., LIMIT cláusula para obtener las filas de la página 1 que contiene los primeros 10 clientes ordenados por el nombre del cliente:

Code language: SQL (Structured Query Language) (sql)

Pruebe

Esta consulta utiliza la etiqueta LIMIT cláusula para obtener las filas de la segunda página que incluyen la fila 11 – 20:

Code language: SQL (Structured Query Language) (sql)

Pruebe

En este ejemplo, la cláusula LIMIT 10, 10 devuelve 10 filas de la fila 11 – 20.,

3) el Uso de MySQL LÍMITE para obtener el n-ésimo mayor o el menor valor

Para obtener el n-ésimo mayor o menor valor, se utiliza el siguiente LIMIT cláusula:

Code language: SQL (Structured Query Language) (sql)

La cláusula LIMIT n-1, 1 devuelve 1 fila empezando en la fila n.

Por ejemplo, el siguiente se encuentra el cliente, que tiene la segunda más alta de crédito:

Code language: SQL (Structured Query Language) (sql)

Pruebe

Vamos a comprobar el resultado., Esta consulta devuelve todos los clientes ordenados por créditos de alto a bajo:

Code language: SQL (Structured Query Language) (sql)

Pruebe

Como se puede ver claramente desde la salida, el resultado fue correcto como se esperaba.

tenga en cuenta que esta técnica funciona cuando no hay dos clientes que tengan los mismos límites de crédito. Para obtener un resultado más preciso, debe usar la función de ventana DENSE_RANK().,

en este tutorial, ha aprendido a usar la cláusula MySQL LIMIT para restringir el número de filas devueltas por la instrucción SELECT.

  • ¿Fue útil este tutorial?
  • YesNo

Author: admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *