MySql group count详解
->
mysql> SELECT COUNT(*) FROM Bird GROUP BY name;
+———+———-+
| COUNT(*) |
+———+———-+
| 2 |
| 1 |
+———+———-+
2 rows in set (0.00 sec)
但是我的原意是想计算出Bird这个表中不重复name的行的总数,期望输出如下
+———+———-+
| COUNT(*) |
+———+———-+
| 3 |
+———+———-+
1 rows in set (0.00 sec)
尝试使用了子查询:
SELECT COUNT(*) AS `Count` FROM( SELECT * FROM Bird GROUP BY name) AS `Temp`
但是在数据量稍大的情况下查询效果实在是慢到不能接受了
sql应该是先运行计算的函数然后分组,得到的count自然是分组前数据个数
试验了下应该这样写:select count(distinct name) from Bird 问题解决 Hibernate 中一样可以使用
欢迎光临本站!请 订阅本站Feed 获得最新信息
转载请注明文章转载自:钱本草 [http://www.qbencao.com]
本文链接地址:MySql group count详解

