mysql指令 having和where的区别
首先having 和 where 都是mysql的条件限制。
我们先来看一个例子:
select max(content) as zuida from msg having zuida>10;
这个就能正确运行
select max(content) as zuida from msg where zuida>10;
这个就不能正确运行
那么为什么会这样呢?就一个单词只差因为:where是判断数据从磁盘读入内存的时候,having是判断分组统计之前的所有条件。
那么总结出来就可以分为3点:
第一点:
where是判断数据从磁盘读入内存的时候
having是判断分组统计之前的所有条件
第二点:
having子句中可以使用字段别名,而where不能使用
第三点:
having能够使用统计函数,但是where不能使用
先分组,再判断
资源均来自第三方,谨慎下载,前往第三方网站下载 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com