mysql 按条件 count 获取记录数的方式

mysql | 2019-09-13 10:02:39

mysql 按条件 count 获取记录数的三种方式,统计sub_type='REFUND_FEE’ 的记录数:


方法一.select count(sub_type) from t where t.sub_type='REFUND_FEE’;

常规where条件来实现 count


方法二.select sum(if( B.sub_type='REFUND_FEE’ ,1,0)) from t;

使用 sum来实现count记录数


方法三.select count(B.sub_type=‘REFUND_FEE’ or null) from t;

要着重介绍的就是这个方法三

大家都知道 count 参数无论是0还是1,true还是false都会记一次,但是count(null)就是0。


B.sub_type等于‘REFUND_FEE’时 就相当于count(true),就会记一次,当B.sub_type 不等于‘REFUND_FEE’就相当于count(null),不会记数。


注意:count(列名)时是不会统计null的个数的,count(*)和count(1)会把null的个数也统计在内



登录后即可回复 登录 | 注册
    
关注编程学问公众号