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详解

Tags: , ,  | 日期:  2008-08-27|  分类:  家园建设| 阅读次数: 109 
下一篇文章:  温凉珠在线观看

我来说两句

Powered by WordPress | Blue Weed by Blog Oh! Blog | Entries (RSS) and Comments (RSS)