文章详情页
mysql - 请问如何统计group by 后的结果
导读:问题描述比如这条语句可以统计查询总数SELECT COUNT(`id`) AS `num` FROM `test`;那如果加了一句group by 之后就不对了SELECT COU...
问题描述
比如这条语句可以统计查询总数
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. javascript - jq遍历问题2. sass - gem install compass 使用淘宝 Ruby 安装失败,出现 4043. 使用java8 env从Spring 3.2.0升级到4.1.2。和休眠3,获取异常4. javascript - 请问一下有一个网址,有的安卓手机打开图片显示不出来,图片是存在七牛上面的,这个是什么地方出现了问题5. 根目录env怎么找不到6. 老师,请问下为什么这个地方的单引号里面的变量能够被解析呢?7. php本地加载太慢8. tp6表单令牌9. 提示我模板文件不存在: tp5 application index view body.html10. javascript - 将图片拖进canvas
排行榜