Mysql
 sql >> Database >  >> RDS >> Mysql

API Node.js con express e mysql - Ottenere il conteggio dei record, il numero di pagina, ... e fornire l'impaginazione

MySQL LIMIT accetta 2 valori, offset e numero di righe. La manipolazione di questi è il modo in cui potresti ovviamente eseguire il paging.

per esempio. Se supponiamo che ogni pagina fosse lunga 10 record.Pagina1 =LIMIT 0, 10 Pagina2 =LIMIT 10, 10 Pagina3 =LIMIT 20, 10 ecc.

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

Ora un problema con l'utilizzo di limit è che il recordcount è per il set di risultati, IOW:i 10 record limitati.

Ma quello che puoi fare è chiedere a MySQL di memorizzare quale sarebbe stato il conteggio dei record se il LIMIT non fosse stato applicato. Puoi recuperarlo anteponendo all'SQL SQL_CALC_FOUND_ROWS.

per esempio. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10

È quindi possibile eseguire un'altra query che recuperi questo valore.

SELECT FOUND_ROWS();