文章详情页
mysql - 请问如何统计group by 后的结果
浏览:181日期:2022-06-18 18:26:58
问题描述
比如这条语句可以统计查询总数
SELECT COUNT(`id`) AS `num` FROM `test`;
那如果加了一句group by 之后就不对了
SELECT COUNT(`id`) AS `num` FROM `test` GROUP BY `id`;
请问我想要知道GROUP BY出来有多少行数据,怎么做
问题解答
回答1:统计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。
回答2:SELECT id,COUNT(id) AS num FROM test GROUP BY id;
回答3:楼主正解,思路就是先把查找到的结果放在一张“临时表”,然后再统计总数
回答4:楼上正解,题主可参考
相关文章:
1. nignx - docker内nginx 80端口被占用2. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?3. docker-machine添加一个已有的docker主机问题4. debian - docker依赖的aufs-tools源码哪里可以找到啊?5. javascript - 正则匹配字符串特定语句后的数字6. angular.js - angularjs的自定义过滤器如何给文字加颜色?7. docker-compose中volumes的问题8. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?9. angular.js使用$resource服务把数据存入mongodb的问题。10. dockerfile - 为什么docker容器启动不了?
排行榜

网公网安备