COUNT возвращает общее количество строк, игнорируя LIMIT в MySQL, почему? - PullRequest
0 голосов
/ 19 декабря 2018

Сегодня, когда я писал сложный запрос, случайно обнаружил, что даже если я установил LIMIT в своем запросе, MySQL сервер возвращает общее количество строк для COUNT.


Пример:

SELECT COUNT(*) FROM `log` LIMIT 10;

Вывод:

5219

Но если я выполню запрос без COUNT, он вернет только 10 строк.Мой вопрос:

Почему MySQL игнорирует LIMIT, когда присутствует COUNT?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Цель предложения LIMIT для выбора ограниченного числа записей , тогда как count - это функция агрегирования, которая будет возвращать результат агрегирования.Не имеет смысла использовать LIMIT и COUNT вместе, так как LIMIT может возвращать любые случайные n записей.

0 голосов
/ 19 декабря 2018

LIMIT для возврата подмножества общих результатов, в вашем случае результат - только одна строка, поэтому никакого эффекта

...