Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

API Node.js com expresso e mysql - Obtendo contagem de registros, número de página, ... e fornecer paginação


MySQL LIMIT aceita 2 valores, deslocamento e contagem de linhas. Manipulá-los é como você poderia fazer a paginação.

por exemplo. Digamos que cada página tenha 10 registros.Page1 =LIMIT 0, 10 Página2 =LIMIT 10, 10 Página3 =LIMIT 20, 10 etc.

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

Agora, um problema com o uso de limite é que a contagem de registros é para o conjunto de resultados, IOW:os 10 registros limitados.

Mas o que você pode fazer é pedir ao MySQL para armazenar qual seria a contagem de registros se o LIMIT não fosse aplicado. Você pode recuperar isso prefixando o SQL com SQL_CALC_FOUND_ROWS.

por exemplo. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10

Você pode então fazer outra consulta que recupera esse valor.

SELECT FOUND_ROWS();