Можно ли получить общее количество строк со смещением
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()
и, следовательно, вам не нужно повторять сложный запрос.