MySql 执行count(1)、count(*) 与 count(列名) 区别
1. 初识 count
-
COUNT(expr) ,返回 SELECT 语句检索的行中 expr 的值不为NULL的数量。结果是一个 BIGINT 值。
-
如果查询结果没有命中任何记录,则返回 0。
-
COUNT(*) 的统计结果中,会包含值为 NULL 的行数。
除了 COUNT(id) 和 COUNT(*) 以外,还可以使用 COUNT(常量)(如 COUNT(1) )来统计行数。
2. COUNT(列名)、COUNT(1)和COUNT(*)之间的区别
执行效果上:
- count(*) 包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为 NULL 。
- count