当前位置: 代码网 > it编程>数据库>Mysql > 如何解决mysql的count()函数条件表达式不生效问题

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

2024年11月18日 Mysql 我要评论
示例表数据统计错误的sqlselect count(age = 10) as count from student查询结果原因count(‘任意内容’)都会统计出所有记录数因为

示例

  • 表数据

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

原因

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

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

即:

count(null)==0

解决

方法1

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

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

方法2

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

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

方法3

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com