Sql总结
程序员文章站
2022-05-08 23:02:24
1、group by,havinggroupby,即以其中一个字段的值来分组select的字段只能是分组的字段类别以及使l聚合函数如,max(),min(),count()的字段。where在前,groupby在后,注意groupby紧跟在where最后一个限制条件后面,不能被夹在where限制条件之间。where在前,groupby在后的原因:要先用where过滤掉不进行分组的数据,然后在对剩下满足条件的数据进行分组。having是在分好组后找出特定的分组,通常是以筛选聚合函......
1、group by,having
group by,即以其中一个字段的值来分组
select 的字段只能是分组的字段类别以及使l聚合函数如,max(),min(),count()的字段。
where在前,group by在后,注意group by紧跟在where最后一个限制条件后面,不能被夹在where限制条件之间。
where在前,group by在后的原因:要先用where过滤掉不进行分组的数据,然后在对剩下满足条件的数据进行分组。
having是在分好组后找出特定的分组,通常是以筛选聚合函数的结果,如sum(a) > 100等,且having必须在group by 后面,
使用了having必须使用group by,但是使用group by 不一定使用having。不允许使用双重聚合函数,所以在对分组进行筛选的时候
可以用order by 排序,然后用limit也可以找到极值。
如果不使用 GROUP BY 子句,则 HAVING 的行为与 WHERE 子句一样。(必须分组以后才能用having进行筛选;where后面不能用聚合函数)
本文地址:https://blog.csdn.net/mbc2009/article/details/107658890