在开发过程中,时常会用到这个count函数,count表示进行统计操作,比如统计某张表的总数量。现实中,都是附带条件where进行统计。那么他们区别是什么呢?
count()和count(1)统计的数据中不会忽略某一列为null的值,coun(列)统计的数据中,只统计该列不为null的值。使用时可根据是否需要统计某列为null的值来进行选择。mysql官方推荐使用count(),这是标准SQL的规范用法,开发过程中,习惯用count(主键)使用。个人习惯。
举例:其中c1为null
CREATE TABLE `test` (
`id` int(10) UNSIGNED NOT NULL,
`c1` varchar(10) DEFAULT NULL,
`c2` char(30) NOT NULL,
`c3` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试';
select count(*) from test where 1
select count(c1) from test where 1 结果就少一条记录。