count(条件1 or null)解释…
满足条件1 则为 true or null 结果为true 会被count统计
不满足1 则为false or null 结果为 null 不会被count 统计
利用了count( field-name) 不会统计null的特性
满足条件1 则为 true or null 结果为true 会被count统计
不满足1 则为false or null 结果为 null 不会被count 统计
利用了count( field-name) 不会统计null的特性
2019-03-14
至于为什么药要用or null。很简单mysql count()函数只统计不为null的表达式或值。1=4为0 再 or null结果为null,所以不统计,如果不加or null,则1=4为0,结果为0,count()会统计,因为count()统计的是不为空的,而不是不为0的。
2019-03-01
数据库优化从4个方向去优化
1、sql和索引,写出健壮的sql,索引不是越多越好
2、数据表结构(存储引擎,字段大小,字段类型,索引,第三规范)
3、系统配置(打开文件系统次数,文件安全性)
4、硬件(更合适的cup,更大的内存,更快的io,cup并不是越大越好)
1、sql和索引,写出健壮的sql,索引不是越多越好
2、数据表结构(存储引擎,字段大小,字段类型,索引,第三规范)
3、系统配置(打开文件系统次数,文件安全性)
4、硬件(更合适的cup,更大的内存,更快的io,cup并不是越大越好)
2019-02-13
吐槽一下 这种写法很容易误导学渣 Oracle不支持这种count(year='2006' or null)的写法 不支持表达式比较运算
2019-01-11
@日落伤心色 哈哈,其实你这样也是不对的,你去掉那个条件和老师的意思也是一样的,limit 1,5 也是从601-605的意思,真实开发中不能保证601-605都是我们想要的数据,所以改写成limit 5 才是比较合适的 个人观点哈
2019-01-09
为什么要加or null?1.因为count(参数) 只要参数不为null,都会进行计数,只写year=2006(相当于year==2006)是个true,计数,如果不加or null,那么year==2007 或者year==2008是个false,也会进行计数。2.如果加了or null 的话 ,year==2006是个ture,true or null 是true 会计数;year==2007是个false,false or null 等于null,则不会计数。可以参考这个文章https://wangyaoxu.github.io/2017/09/21/mysql-count/
2018-12-27