比如这条语句可以统计查询总数
SELECT COUNT(`id`) AS `num` FROM `test`;
那如果加了一句group by 之后就不对了
SELECT COUNT(`id`) AS `num` FROM `test` GROUP BY `id`;
请问我想要知道GROUP BY出来有多少行数据,怎么做
楼主正解,思路就是先把查找到的结果放在一张“临时表”,然后再统计总数
统计GROUP BY
后的数据行数:
SELECT count(1) FROM (
SELECT * FROM `test` GROUP BY `id`
) AS tmp;
统计id
相同出现的次数:
SELECT id, count(1) FROM `test` GROUP BY `id`;
统计GROUP BY
后的数据总和:
SELECT sum(c) FROM (
SELECT count(1) AS c FROM `test` GROUP BY `id`
) AS tmp;
不清楚你想要查什么,但猜测是第一条SQL。
SELECT id,COUNT(id
) AS num
FROM test
GROUP BY id
;
楼上正解,题主可参考