初始数据表格:
group by 作用:
group by用于将表中数据划分为若干个组,group by后面用于指定分组的依据
group by 举例:
select name,count(id) from student group by name
结果:将学生按名字分组,然后统计每组中的人数,
分析,此处出现了字段加聚合函数的情况是正确的,因为group by查询语句中select后边可以跟两类。一类是聚合函数,还有一个是分组字段名,默认情况下字段不能和聚合函数一起使用select name,avg(age) from student
select name,avg(age) from student
结果:只出现了一行数据,而这显然是不正确的,
总结:在group by 的select语句中,允许了跟两类,一是聚合函数;二是分组字段名,因为组数 和 聚合函数的结果数是相同的。
扩展:
如果select语句中含有where、order by、having 、group by那么group by需放在where之后order by之前,即先获取符合where条件的“有效”数据,再依据group by对数据进行分组,然后用having再次过滤,最后再进行排序;
where、group by、having、order by