select case t.year when '2016' then @i := @i +1 when '2017' then @j := @j +1 end from table_name t,(select @i :=0,@j:=0) a ;
2017-11-01
讲得挺好的,能够让人在宏观上了解mysql优化的不同视角和层次。评论里有些人嚷着要干货,学理论,须知板凳坐得十年冷,心浮气躁没有任何帮助,徒增怨气。
2017-10-30
就@wendyy贴出的链接,我大概翻译一下: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,不计数。
2017-10-18
select count(*) ,actor.first_name
-> from actor,film_actor
-> where film_actor.actor_id=actor.actor_id
-> group by(actor.actor_id);
为什么不这样写
-> from actor,film_actor
-> where film_actor.actor_id=actor.actor_id
-> group by(actor.actor_id);
为什么不这样写
2017-10-15
有点混乱了 为什么不用 inner join 而是去重,还有优化的原因也没讲。不是应该讲讲优化后减少了遍历的次数什么的吗,还有索引失效什么的。
2017-10-15