Blog Reacción Estudio

¡Tu zona de aprendizaje!

sql

Obtener el total de registros de una tabla utilizando una consulta SQL con LIMIT

A la hora de listar los resultados de una tabla, si esta tabla contiene bastantes registros, lo más lógico es que los vayamos mostrando de X en X utilizando una paginación. Y es bastante útil mostrar en una cadena de texto el total de registros que tiene esta tabla, algo como “Total usuarios: 365“.

Pues bien, para hacer esto en una sola consulta de la forma más óptima, debemos usar ‘SQL_CALC_FOUND_ROWS‘ y la función ‘FOUND_ROWS()‘ de MySQL.

 
Imaginemos que esta es nuestra consulta la cual obtiene los 10 primeros usuarios de nuestra tabla:

SELECT idUsuario, usuario FROM usuarios LIMIT 0,10;

Debemos añadir la opción ‘SQL_CALC_FOUND_ROWS‘ después de la palabra SELECT

SELECT SQL_CALC_FOUND_ROWS idUsuario, usuario FROM usuarios LIMIT 0,10;

Tras ejecutar nuestra consulta con la opción ‘SQL_CALC_FOUND_ROWS‘, debemos ejecutar la función ‘FOUND_ROWS()‘ para obtener el total de registros de la tabla de la consulta anterior:

SELECT FOUND_ROWS() AS total;

 
La función ‘FOUND_ROWS()‘ debemos ejecutarla justo después de haber ejecutado la consulta de la que queremos obtener todos los resultados de la tabla.
 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.     ACEPTAR