9/10/2009

Obtener el total de registros en MySQL

Bastante útil cuando utilizamos paginadores

Cuando filtramos un SELECT con la clausula LIMIT en MySQL solo nos devolverá el numero de filas que definamos, al hacer esto no sabemos a ciencia cierta el total de filas que nos retornaría este query sin esta cláusula. Para solucionar esto agregamos después del SELECT la opción SQL_CALC_FOUND_ROWS, posteriormente podemos capturar el total de registros que nos entregaría este SELECT si no le asignamos el LIMIT.
SELECT SQL_CALC_FOUND_ROWS * FROM tabla WHERE id > 100 LIMIT 10;
Posterior a la ejecución del query anterior, ejecutamos este query, el cual nos devolverá un número que indica cuántas filas hubiese devuelto el primer SELECT.
SELECT FOUND_ROWS();
En la siguiente página hay más información al respecto
Publicar un comentario