问答详情
源自:2-7 Count()和Max()的优化

为什么加 or null 求解

为什么加 or null 求解

提问者:无处安放滴青春 2017-03-21 09:57

个回答

  • earlman
    2018-08-12 12:00:23

    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,不计数。


  • airgo
    2018-01-04 00:34:48

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

  • 用户1103362
    2017-09-21 17:39:18

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

  • 慕慕0431920
    2017-03-23 15:04:57

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