Du kan använda SQL_CALC_FOUND_ROWS så här
SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;
Den får radantalet före tillämpa någon LIMIT-klausul. Den behöver en annan fråga för att hämta resultaten men den frågan kan helt enkelt vara
SELECT FOUND_ROWS()
och därför behöver du inte upprepa din komplicerade fråga.