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

Hvordan tæller man alle poster, men kun henter (LIMIT) et bestemt antal til visning?

MySQL har noget særlig support til denne slags ting. Først skal du inkludere SQL_CALC_FOUND_ROWS i din SELECT:

SELECT SQL_CALC_FOUND_ROWS *
FROM Badges
WHERE UID = '$user'
ORDER by Date DESC
LIMIT 10 -- Or whatever

Træk derefter dine rækker ud og kig derefter straks på FOUND_ROWS() sådan her:

SELECT FOUND_ROWS()

for at få antallet af rækker, der matchede din oprindelige forespørgsel uden at tage hensyn til LIMIT-sætningen.

Dette er MySQL-specifikt, men det burde være lidt hurtigere end at lave to forespørgsler.



  1. Oracle-strengfunktioner (fuld liste)

  2. Hvordan kan vi sende data i MySQL, når formularen er sat til enctype=multipart/form-data i node.js?

  3. to_sql pyodbc count felt forkert eller syntaksfejl

  4. Hvordan kan jeg tilføje kommentarer i MySQL?