Count函数
**场景:**标记出所有数据中,符合条件和不符合条件的
count(Creator_ID =#{userID,jdbcType=VARCHAR})
**思路:**符合条件算进来就1,不算进来就0
**实际情况:**无论里面得到的条件是 true 或者false 都会被count函数计算到,得到结果为1
解决方案:
①怎么样的值不会被count函数计算进去?
答案是null,如下图所示:
②那怎么让false的时候变为null呢?
在mysql中true和false 有一层关系:null or true=true 与 null or false=null
③解决结果:
count(Creator_ID =#{userID,jdbcType=VARCHAR} or null)
通过增加在count函数中 or null,这样当符合条件时会被计算进去,当不符合为false时,与or null 组合会得到null,count会得到0。