count(*),count(1),count(column),count(表达式)在有null时返回结果不同

场景:当count的字段信息有空值时

  1. count(1)和count(*)统计数据量时包括null;
  2. count(column)不统计字段为空的数据;
  3. count(null)恒为0;
  4. 当count()的括号中有表达式时,赋予null的数据不统计

表:student

idnamebirth
1张三02-01
2李四01-01
3王五null
4宋六null

例子:

mysql> select count(*) from student;
count(*) 
--------
4

mysql> select count(1) from student;
count(1) 
--------
4

mysql> select count(birth) from student;
count(*) 
--------
2

-- 以下这个案例中,生日为01-01的人数据设置成了null,所以不在统计范围
mysql> select count(case when birth='01-01' then null else birth end) from student;
count(*) 
--------
1
-- 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值