alexhemp
Новичок
COUNT количества строк для запроса с GROUP BY
Имеется стандартная задача - постраничный вывод.
Штатное решение для MySQL - известно - сперва
COUNT(*) для выбранных условий, потом второй запрос, уже с LIMIT, на основании количества записей подходящих под условие.
Но! Запрос усложнили - добавили группировку (сделан фильтр по параметрам).
Теперь в конструкции SELECT COUNT(*) FROM table WHERE ... GROUP BY ... HAVING ...
Возвращается, естественно, не одна строка, несколько, в каждой количество записей в каждой группе - как и должно быть - агрегатная ф-ция посчиталась для каждой группы.
Как-бы посчитать количество групп? - по сути количество строк, которое потенциально может вернуть запрос.
Делать mysql_count - не позволяет религия - некрасиво и на большом количестве результатов будет замедлять работу
Имеется стандартная задача - постраничный вывод.
Штатное решение для MySQL - известно - сперва
COUNT(*) для выбранных условий, потом второй запрос, уже с LIMIT, на основании количества записей подходящих под условие.
Но! Запрос усложнили - добавили группировку (сделан фильтр по параметрам).
Теперь в конструкции SELECT COUNT(*) FROM table WHERE ... GROUP BY ... HAVING ...
Возвращается, естественно, не одна строка, несколько, в каждой количество записей в каждой группе - как и должно быть - агрегатная ф-ция посчиталась для каждой группы.
Как-бы посчитать количество групп? - по сути количество строк, которое потенциально может вернуть запрос.
Делать mysql_count - не позволяет религия - некрасиво и на большом количестве результатов будет замедлять работу