为什么加 or null 求解
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,不计数。
这个要看mysql服务器的版本的,目前5.7 的版本不需要加 or null 一样效果
https://wangyaoxu.github.io/2017/09/21/mysql-count/
假如这个表里有10条数据,其中age字段中的age = 12 的有3条,如果加null 查出来的就是三条,不加null查出来的还是10条,不加null的时候当查age不等于12的那些数据也会被算进去。