count 带条件计数

mysql 统计条数很简单, 使用 count 函数就行,但是带条件统计,可能有些小伙伴跟我一样,还有些疑问,废话不多说 上代码
表中三条数据

1. count(*) 和 count(字段) :

区别:count(*) 包含 null 值的条目,count(字段) 则不包含

例如:

select count(*) from sys_user // 返回 3 条数据
select count(name) from sys_user // 返回 2数据,就是将name字段为null的去除了

2.加条件count用法

例:求 age 小于 19 人数

select count(age <19 or null) from sys_user // 返回 1条数据

条件可以随便写( > 、<、=、is null 等等),但是必须加上 or null ,否则统计出来 就是 3 条;

其他写法,效果一致:

select count(if(age <19, 1, null)) from sys_user // 返回 1条数据select count(case when age <19 then 1 end) from sys_user // 返回 1条数据