sql >> Base de Datos >  >> RDS >> Mysql

API de Node.js con express y mysql:obtener el recuento de registros, el número de página, ... y proporcionar paginación

MySQL LIMIT toma 2 valores, desplazamiento y recuento de filas. Manipularlos es cómo, por supuesto, podría hacer paginación.

p.ej. Si digamos que cada página tiene 10 registros de largo. Página1 =LIMIT 0, 10 Página2 =LIMIT 10, 10 Página3 =LIMIT 20, 10 etc.

IOW:LIMIT (pageNo - 1) * PageSize, PageSize

Ahora, un problema con el uso del límite es que el número de registros es para el conjunto de resultados, IOW:los 10 registros limitados.

Pero lo que puede hacer es pedirle a MySQL que almacene cuál habría sido el número de registros si no se hubiera aplicado el LÍMITE. Puede recuperar esto anteponiendo el SQL con SQL_CALC_FOUND_ROWS.

p.ej. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10

Luego puede hacer otra consulta que recupere este valor.

SELECT FOUND_ROWS();