Можно ли получить общее количество строк со смещением

Hey Guyz Можно ли получить общее количество строк со смещением?

Сценарий

SELECT * FROM users limit 0,5; 

Этот запрос содержит 300 записей, но проблема в том, что если я вызову этот запрос со смещением, результат будет отображаться только на 5 записей, и я не хочу писать запрос дважды. один для лимита подкачки и другой для общего количества записей...

Я не хочу этого

SELECT * FROM users limit 0,5; // paging 
SELECT count(*) FROM users; // count 

Мне нужно объединить эти Запросы, или помогает определенно оценить

Ответ 1

Вы можете использовать SQL_CALC_FOUND_ROWS, как этот

SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;

Он получает количество строк перед применением любого предложения LIMIT. Для получения результатов требуется другой запрос, но этот запрос может быть просто

SELECT FOUND_ROWS()

и, следовательно, вам не нужно повторять сложный запрос.