вы можете использовать опцию SQL_CALC_FOUND_ROWS
в своем запросе, которая скажет MySQL подсчитать общее количество строк без учета предложения LIMIT.Вам все еще нужно выполнить второй запрос, чтобы получить количество строк, но это простой запрос, и он не такой сложный, как ваш запрос, который получил данные.
Использование довольно просто.В ваш основной запрос вам нужно добавить опцию SQL_CALC_FOUND_ROWS сразу после SELECT, а во втором запросе вам нужно использовать функцию FOUND_ROWS()
, чтобы получить общее количество строк.Запросы выглядят так:
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;
SELECT FOUND_ROWS();