想要将查询到的成绩行转列,即转化每个学生成绩为一行,每个学科为一列
使用case语句:当课程名称等于公共课,就将此行的分数填入公共课这一列,其他列以此类推
这样得出的数据二狗子是三行数据,二狗子一行数据才是我们想要的,所以以sid分组
再配合聚合函数(如果不使用聚合函数,分组后默认返回的是查询到的第一个值,可能把有分数的也显示成null),因为同一个学生同一门学科只有一个分数,其余行都是null,所以使用min、max、sum等任意聚合函数都行
想要将查询到的成绩行转列,即转化每个学生成绩为一行,每个学科为一列
使用case语句:当课程名称等于公共课,就将此行的分数填入公共课这一列,其他列以此类推
这样得出的数据二狗子是三行数据,二狗子一行数据才是我们想要的,所以以sid分组
再配合聚合函数(如果不使用聚合函数,分组后默认返回的是查询到的第一个值,可能把有分数的也显示成null),因为同一个学生同一门学科只有一个分数,其余行都是null,所以使用min、max、sum等任意聚合函数都行