mysql查分组后的平均数_MySQL中使⽤groupby分组查询group by 表⽰根据指定字段进⾏分组查询
1.什么时候使⽤group by?
group by ⼀般是和聚合函数⼀起使⽤的
ps:常⽤聚合函数
count() 计数 sum() 求和 avg() 平均数 max() 最⼤值 min() 最⼩值
2.筛选结果使⽤where和group by ,表⽰先执⾏where条件筛选后再进⾏分组
注意:where语句中不能使⽤聚合函数
SQL语句的执⾏顺序是:
from-->where-->group by -->having --> select--- >order by;
⾸先我们知道像SUM()、AVG()、MAX()等等的聚合函数,是对结果进⾏筛选的,在FROM之后,我们只得到这张表,如果对这张表进⾏聚合筛选后,那么接下来的GROUP BY该怎么办呢?GROUP BY是对表进⾏分组的,但是你都已经WHERE筛选完了,还怎么分组,所以⽭盾,所以不能在WHERE中使⽤聚合
函数!
groupby是什么函数聚集函数也叫列函数,它们都是基于整列数据进⾏计算的,⽽where⼦句则是对数据⾏进⾏过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计算结果”是⼀种悖论,这是⾏不通的。更简单地说,因为聚集函数要对全列数据时⾏计算,因⽽使⽤它的前提是:结果集已经确定!
3.筛选结果先⽤group by和having,表⽰having是对group by分组结果进⾏筛选
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论