1、语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name;
2、说明
先对数据集分组,再根据规则批量处理每组数据。
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
下面以学生管理系统为例,将成绩按照学生ID分组,然后计算每个学生各科的平均分,学生管理系统数据库各表如下
课程表:
学生表
成绩表
执行sql命令
SELECT s.id, s.name, avg(score)
FROM transcript AS t
LEFT JOIN student AS s ON t.student_id = s.id
GROUP BY t.student_id;
执行结果如下: