【发布时间】:2011-05-01 15:38:17
【问题描述】:
1> select browser,count(*) from logtest group by browser;
+-----------+----------+
| browser | count(*) |
+-----------+----------+
| Firefox 3 | 14 |
| Unknown | 11 |
+-----------+----------+
集合中有 2 行
2>select browser,count(browser) from logtest group by browser;
+-----------+----------------+
| browser | count(browser) |
+-----------+----------------+
| Firefox 3 | 14 |
| Unknown | 11 |
+-----------+----------------+
集合中有 2 行
3>select browser,count(browser) from logtest;
+-----------+----------------+
| browser | count(browser) |
+-----------+----------------+
| Firefox 3 | 25 |
+-----------+----------------+
集合中的 1 行
为什么查询方式1>和2>的结果是一样的? count(*) 和 count(somefiled) 没有区别吗?
另外,为什么查询 2> 和 3> 会导致不同的结果,为什么 groupby 如此神奇?它是如何工作的?
更新: 我正在使用 MySQL5.1。 :)
【问题讨论】: