如题所说。
在一个查询中若使用having必须先分组,即使用group by条件。
但是书写这两个条件时又先后顺序吗?
在实际使用中发现以下两条都可以正常得到结果:
select job , max(sal) from emp group by job having max(sal)>2000
select job , max(sal) from emp having max(sal)>2000 group by job是不是having和group by这两个条件的先后顺序并无特殊要求?

解决方案 »

  1.   

    管理工具上测试就可以了,order by 他们之间顺序有影响。
      

  2.   

    1、执行WHERE筛选数据
    2、执行GROUP BY分组形成中间分组表
    3、执行WITH ROLLUP/CUBE生成统计分析数据记录并加入中间分组表
    4、执行HAVING筛选中间分组表
    5、执行ORDER BY排序
      

  3.   

    功能没多大区别,但一般是先写having,后写group by,
    像order by、group by之类的一般是写在后面的