group by即按照给定字段对结果集进行分组,从字面意义上理解就是根据“by”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
group by的写法:
1.select 字段列表/* from 表名 group by 字段列表
2.select 字段列表/* from 表名 group by 字段列表 having 过滤条件
group by的特点:
常和聚合函数一起使用
select 后仅可以加分组字段和聚合函数
下面举个栗子:
首先有一个表:
select avg(s.degree) from score s group by s.cno
显示为:
在score表里以cno进行分组,然后对score表里的以cno分组之后的组为单位,求了一下每个组的平均值。这就是group by的用法啦。当然了,如果直接输出group by的话就是如下:
select s.cno from score s group by s.cno