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.