Możesz użyć SQL_CALC_FOUND_ROWS w ten sposób
SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;
Pobiera liczbę wierszy przed stosowanie dowolnej klauzuli LIMIT. Potrzebuje innego zapytania, aby pobrać wyniki, ale to zapytanie może po prostu być
SELECT FOUND_ROWS()
dzięki czemu nie musisz powtarzać swojego skomplikowanego zapytania.