参考经典文章:https://blog.csdn.net/liu_shi_jun/article/details/51329472
1.group by 分组 ,每一组数据只有一行,如果group by col1,col2 即根据两个字段进行分组,那么会对这两列进行排列组合,每一行都是唯一不重复的一组
2.分组的数据里面 可以用聚合函数 如 COUNT 、SUM进行统计,不能在select中写一个不在分组里面的字段,因为1组数据只有一行,但是这个未作为分组条件的字段可能有多个值,这样就不知道展示哪个值了。
3.where在分组前使用,对所有数据进行过滤;having在分组后使用 对组进行过滤。
查询Score表中 班级号码 以3开头,有20名以上学生有成绩 的所有学生 的平均成绩
select avg(StudentScore) from Score where CId like '3%' group by CId having COUNT(*)>20