Есть запрос
SELECT count(id) `count`, sum(`sum`) `sum` FROM t GROUP BY manager_id ORDER BY ... LIMIT ...
Выдает, например, строки
1, 5
8, 0
2, 10
Хочу вывести табличку так:
1, 5
8, 0
2, 10
----
ИТОГО: строк 3, сумма 15
Как посчитать сумму и количество не в цикле одним запросом?
Количество строк и сумму я считаю так:
$query1=preg_replace('/SELECT .*?FROM/ius','SELECT COUNT(*) FROM',$query);
$q = $cdb->query($query1);
$c=$q->rowCount();
$query1=preg_replace('/SELECT .*?FROM/ius','SELECT SUM(`sum`) FROM',$query);
$query1=preg_replace('/GROUP BY.*/ius','',$query1);
$q = $cdb->query($query1);
$sum=$q->fetchColumn();
Не считаю в цикле, потому что идет разбивка на страницы через LIMIT
Использую preg_replace - для того, чтобы быстро копировать код в другую часть проекта, где нужно так же посчитать итоговые суммы и количество записей
Но хотелось бы не делать два запроса, а справиться одним
Что то вроде этого, но тут сумма берется только с первой строки
$query1=preg_replace('/SELECT .*?FROM/ius','SELECT SUM(`sum`) FROM',$query);
$q = $cdb->query($query1);
$sum=$q->fetchColumn();
$c=$q->rowCount();