统计函数COUNT

  作者:记性不好的阁主

SELECT COUNT(employees.salary) FROM employees; # 统计一列的个数 会忽略null值

SELECT COUNT(*) FROM employees; # 统计行数 不会忽略null

SELECT COUNT(1) FROM employees; # 统计行数 不会忽略null


COUNT原理:

每遍历一行,额外加个字段,里面存储1,遍历完成,返回1的个数


字段1字段2统计字段
1
1
1
......

...

所以,COUNT(1)相当于COUNT(*)

若为COUNT(2) 则统计字段是 2 统计的是2 的个数,若为其他则同理。一般是1
效率:

MYISAM存储引擎下,COUNT(*)的效率高

INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(字段)效率高一些

相关推荐

评论 抢沙发

表情

分类选择