sql语句select group by order by where一般先后顺序

老子叫甜甜 提交于 2019-12-17 15:55:44

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

写的顺序:select ... from... where.... group by... having... order by..

执行顺序:from... where...group by... having.... select ... order by...

值得注意的是group by的用法:

select 列a,聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列a ;
select 列a,列b 聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列a , 列b

也就是说,我们从select里面展示的字段都是要用来分组的依据,如果是:

select 列a,列b 聚合函数(聚合函数规范) from 表明 where 过滤条件 group by 列a 

having和where的用法区别:

        1.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。 

        2.where肯定在group by 之前,即也在having之前。 

        3.where后的条件表达式里不允许使用聚合函数,而having可以。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!