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

Node.js API med express &mysql - Får postantal, sidetal, ... og leverer paginering

MySQL LIMIT tager 2 værdier, offset og rækketælling. Manipulering af disse er, hvordan du selvfølgelig kunne foretage personsøgning.

for eksempel. Hvis sige, at hver side var 10 poster lang.Side1 =LIMIT 0, 10 Side2 =LIMIT 10, 10 Side3 =LIMIT 20, 10 osv.

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

Nu er et problem med at bruge grænse, at registreringsantallet er for resultatsættet, IOW:de begrænsede 10 poster.

Men hvad du kan gøre, er at bede MySQL om at gemme, hvad rekordtallet ville have været, hvis LIMIT ikke blev anvendt. Du kan hente dette ved at sætte SQL'en foran SQL_CALC_FOUND_ROWS.

for eksempel. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10

Du kan derefter lave en anden forespørgsel, der henter denne værdi.

SELECT FOUND_ROWS();



  1. 'max_user_connections' sat til 200 - får stadig fejl

  2. NLS_CHARSET_DECL_LEN() Funktion i Oracle

  3. PostgreSQL JDBC-nulstreng taget som en bytea

  4. Sådan omdøbes et tabelnavn i SQL Server