为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

4 回答

count()中只有结果是not null时,才计数+1。比如在‘select count(year=2017) from film’中,count()里面的条件判断的结果可能是true,也有可能是false,在数据库中的表示就是1或者0,这两者都不为null,属于not null。而在条件语句后面加上or null,即表示当‘or’左边的条件判断的结果是true时,则返回1,计数+1;是flase时,则返回或执行‘or’右边的字段或判断,即返回null,不计数。


4 回复 有任何疑惑可以回复我~

这个要看mysql服务器的版本的,目前5.7 的版本不需要加 or null 一样效果

0 回复 有任何疑惑可以回复我~
#1

提辖鲁

5.7试了下也要加or null哦
2018-08-28 回复 有任何疑惑可以回复我~

https://wangyaoxu.github.io/2017/09/21/mysql-count/

1 回复 有任何疑惑可以回复我~
#1

拟人

可以,逻辑清晰
2018-07-12 回复 有任何疑惑可以回复我~
#2

栗喵

你列出来的表中0 or null -> 0不对吧,结果应该是Null呀
2018-11-15 回复 有任何疑惑可以回复我~
#3

慕粉164611153 回复 栗喵

测试结果是null
2018-12-04 回复 有任何疑惑可以回复我~
#4

qq_慕婉清2085323

同楼上,0 or null应该是null,否则selcct count(year = 2016)和select count(year = 2016 or null)就没有区别了
2020-04-09 回复 有任何疑惑可以回复我~
查看1条回复

假如这个表里有10条数据,其中age字段中的age = 12 的有3条,如果加null 查出来的就是三条,不加null查出来的还是10条,不加null的时候当查age不等于12的那些数据也会被算进去。

0 回复 有任何疑惑可以回复我~
#1

奈戈岚勒

我怎么两个查出来都一样
2017-08-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么加 or null 求解

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号