IT俱乐部 MySql 如何解决mysql的count()函数条件表达式不生效问题

如何解决mysql的count()函数条件表达式不生效问题

示例

  • 表数据

  • 统计错误的sql
1
select count(age = 10) as count from student
  • 查询结果

原因

count(‘任意内容’)都会统计出所有记录数

因为count只有在遇见null时才不计数

即:

1
count(null)==0

解决

方法1

count()函数中条件表达式加上or null

1
select count(age = 10 or null) as count from student

方法2

使用IF()函数,当不满足条件时表达式的值为NULL

1
select count(IF(age = 10,1,null)) as count from student

方法3

使用case when表达式,当不满足条件时表达式的值为NULL

1
select count(case when age = 10 then 1 else null end) as count from student

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/mysql/15385.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部