1、where 不能放在group by 的后面

2、HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE

3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以

where  条件

group by 某个或某几个字段

group by  某个或某几个字段

二、where子句
    where自居仅仅用于从from子句中返回的值,from子句返回的每一行数据都会用where子句中的条件进行判断筛选。where子句中允许使用比较运算符(>,<,>=,<=,<>,!=|等)和逻辑运算符(and,or,not)。由于大家对where子句都比较熟悉,在此不在赘述。
三、having子句
    having子句通常是与order by 子句一起使用的。因为having的作用是对使用group by进行分组统计后的结果进行进一步的筛选。举个例子:现在需要找到部门工资总和大于10000的部门编号?
第一步:

select deptno,sum(sal) from emp group by deptno;

筛选结果如下:
DEPTNO   SUM(SAL)
------ ----------
    30       9400
    20      10875
    10       8750
可以看出我们想要的结果了。不过现在我们如果想要部门工资总和大于10000的呢?那么想到了对分组统计结果进行筛选的having来帮我们完成。
第二步:

select deptno,sum(sal) from emp group by deptno having sum(sal)>10000;

筛选结果如下:
DEPTNO   SUM(SAL)
------ ----------
    20      10875

四、where与having的区别

在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行

where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)

最新文章

  1. PHP $_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __FILE__ 的区别 有点像static 和 self的意思 !
  2. 250W电源带i7+GTX1080?
  3. ASP.NET MVC之从控制器传递数据到视图四种方式
  4. Webstorm2016激活码[ 转]
  5. JQUERY 动态时钟
  6. ldconfig及 LD_LIBRARY_PATH
  7. duck type鸭子类型
  8. 普林斯顿大学算法课 Algorithm Part I Week 3 排序的应用 System Sorts
  9. jQuery幻灯片插件Skippr
  10. 前端面试题(6)图片格式jpg,gif,png-8,png-24的区别,及其各自的使用场景
  11. 美团Java团队分享:如何实践支付通道自动化管理
  12. Java8新特性之三:Stream API
  13. 环境配置 mac安装bazel
  14. 004.Heartbeat+HAProxy+MySQL半复制高可用架构
  15. JavaScript练习 - 正反选练习
  16. STL_string.ZC
  17. asp.net mvc 全局权限过滤器及继成权限方法
  18. 微软收购跨平台移动开发公司Xamarin
  19. Backbone.js 的 View 中定义事件
  20. CI框架 -- URL

热门文章

  1. win10 去除快捷方式小箭头
  2. jQuery与IE兼容性问题处理
  3. Unity Profiler 记录
  4. sessionStorage 、localStorage 、 cookie 和session之间的区别
  5. FileSystemResource 和 ClassPathResource 有何区别
  6. (二十)golang--变量的作用域
  7. linux内核参数sysctl.conf,TCP握手ack,洪水攻击syn,超时关闭wait
  8. Python 文件readlines()方法
  9. Spring源码系列 — Bean生命周期
  10. virtualbox的安装与使用、安装镜像创建虚拟机