mysql中count(*)与group by的统计问题

发布时间:2016-03-02 浏览次数:10405 文章来源:个人博客


在sql统计过程中,需要统计某个字段不重复的条数,怎么样准确统计到呢?


如果我们需要统计group by 后的数据:

SELECT COUNT(*) FROM test_users WHERE 1 = 1 GROUP BY hotel_id 

那么得到的结果是:

COUNT(*) 
1 
2 
4
1 


说明统计的是同一个hotel_id中有多少条记录,所以有上面的情况,而我们需要的是group by后的条数,应该是4条。

所以应该写成下面的形式即可

SELECT COUNT(DISTINCT hotel_id) FROM test_users WHERE 1 = 1 

那么得到的结果是:

COUNT(*) 
4


key-word
mysql count count(*) GROUP BY DISTINCT