COUNT с LIMIT в запросе mysql

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


person hd.    schedule 01.11.2010    source источник


Ответы (1)


Используйте FOUND_ROWS():

Для оператора SELECT с предложением LIMIT количество строк, которое было бы возвращено, если бы не было предложения LIMIT.

используйте оператор сразу после вашего запроса SELECT, который нуждается в ключевом слове CALC_FOUND_ROWS. Пример из мануала:

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;

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

person Pekka    schedule 01.11.2010