Puoi usare SQL_CALC_FOUND_ROWS in questo modo
SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;
Ottiene il conteggio delle righe prima applicando qualsiasi clausola LIMIT. Ha bisogno di un'altra query per recuperare i risultati, ma quella query può essere semplicemente
SELECT FOUND_ROWS()
e quindi non devi ripetere la tua complicata query.