MySQL возвращает счетчик результатов вместе со всеми результатами или проверяет, ограничен ли запрос - PullRequest
1 голос
/ 05 декабря 2010

У меня есть запрос, который возвращает большое количество результатов, поэтому я ограничиваю возвращаемую сумму.Но я хочу выяснить, было ли больше результатов, чем число, которым я их ограничил, либо вернув все результаты с помощью счетчика (*), либо каким-либо способом определить, были ли результаты ограничены в одном запросе с тем жекоторый возвращает результаты!

Ответы [ 2 ]

5 голосов
/ 05 декабря 2010

Используйте функцию FOUND_ROWS после запроса, который использует LIMIT:

SELECT FOUND_ROWS();

Из документации:

Оператор SELECT может включать в себя предложение LIMIT, чтобы ограничить количество строк, которые сервер возвращает клиенту. В некоторых случаях желательно знать, сколько строк вернуло бы оператор без LIMIT, но без повторного выполнения оператора. Чтобы получить это количество строк, включите параметр SQL_CALC_FOUND_ROWS в инструкцию SELECT, а затем вызовите FOUND_ROWS() впоследствии:

4 голосов
/ 05 декабря 2010

Если вам не важно, сколько еще строк, вы также можете просто добавить 1 к пределу.Скажем, вы хотите отобразить 100 строк на странице.Таким образом, вы ограничиваете число 101. Если в любой момент вы получите 101 строку, вы знаете, что есть как минимум еще одна страница.код приложения.

...