如count(status = 0 or NULL) 这部分 为什么要加上or NULL 直接count(status=0)会出现什么问题?
因为 当 status不是 0时 ,status=0结果false而 不是 NULL,
Count在 值是NULL是 不统计数, (count(‘任意内容’)都会统计出所有记录数,因为count只有在遇见null时不计数,即count(null)==0,因此前者单引号内不管输入什么值都会统计出所有记录数)至于加上or NULL , 很像其他编程里的or运算符,第一个表达式是true就是不执行or后面的表达式,第一个表达式是false 执行or后面的表达式 。当status不为0时status=0 or NULL 的结果是NULL,Count才不会统计上这条记录数
本文解析了在 SQL 查询中使用 Count 函数时,如何正确处理 NULL 值,解释了为什么在计数时需要包含 orNULL 的条件,以确保数据统计的准确性。
1250

被折叠的 条评论
为什么被折叠?



