Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir les résultats de la requête de comptage en ignorant l'instruction LIMIT

MySQL supporte un FOUND_ROWS() fonction pour trouver le nombre illimité de lignes qui auraient été renvoyées par la requête limitée précédente.

SELECT SQL_CALC_FOUND_ROWS * FROM blah WHERE disabled = '0'  LIMIT 10,20
SELECT FOUND_ROWS();

Notez que (a) vous devez inclure le SQL_CALC_FOUND_ROWS option, et (b) qu'il s'agit d'une extension MySQL spécifique qui ne fonctionnera pas sur un autre RDBMS (bien qu'ils chacun peut ont leur propre façon de procéder.)

Ce n'est pas nécessairement la meilleure façon de faire les choses, même si cela peut en avoir l'air; vous devez toujours émettre deux instructions, vous introduisez du SQL non standard et le réel COUNT ing est susceptible d'être une vitesse similaire à un simple SELECT COUNT(*)... De toute façon. Je serais enclin à m'en tenir à la manière standard de le faire, moi-même.