Group

更新时间:02-09 综合 由 薇糖 分享

where筛选是在分组之前筛选,筛选完之后再group by

having是分组之后再筛选,筛选完之前先group by

执行顺序:where>sum、count等聚合函数>having

所以where条件里不能有聚合函数,因为where条件在聚合函数之前执行。

若须引入聚合函数来对group by 结果进行过滤 则只能用having。(此处不多说,自己想 是先执行聚合函数还是先过滤 然后比对我上面列出的执行顺序 一看便知)

样例:selectsum(score)fromstudentwheresex='man'groupbynamehavingsum(score)>210

注意事项 :

1、where 后不能跟聚合函数,因为where执行顺序大于聚合函数。

2、where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

3、having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

声明:关于《Group》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/all/15_1876222.html