MySQL中聚合函数count的注意事项

MySQL中有很多函数,包括字符串函数、数值运行函数、日期时间函数、聚合函数、加密函数等,这些函数可对SQL语句中的字段进行处理,但在这里主要讲一下聚合函数count的使用场景。
我们知道,这个函数是用来计数的,通常的用法是直接对记录进行统计:
例如我们要查询下面这张表(表的数据是乱写的)
这里写图片描述
当我们执行SELECT COUNT(brand) FROM goodtable;这个SQL语句时,我们知道,这个会得到当前表格的总记录数。
这里写图片描述
,这个是比较常用的用法,但是有一种情况,就是当这个函数出现在分组的SQL语句中时,它就不是统计表格的总记录数了,而是统计某个字段中的某个名称重复出现的次数。
例如当执行SELECT * FROM goodtable GROUP BY brand HAVING COUNT(brand)>=2该语句时,我们会得到下面的结果:
这里写图片描述
在这里,我们对查询的结果集进行条件分组,这个分组的条件就是,合并那些对brand字段据有相同名称的记录数>=2时。因为在该表中,有3条记录其brand字段名称是nike,有2条记录其brand字段名称是tongle,所以在这里,就合并了这些记录。在这里,我们可以看到了聚合函数count的另一个特点,它现在统计的不是整个表格的总数,而是统计表格中某些“重复“的记录。

猜你喜欢

转载自blog.csdn.net/yangkaige111/article/details/80781532
今日推荐