2026-04 中等

学校教务处需要生成学生成绩汇总表,将每个学生的各科成绩从多行转为一行显示。

现有成绩表 scores(学生ID、科目、分数)和学生表 students(学生ID、姓名)。

请编写SQL查询,将学生成绩行转列,输出学生姓名、语文、数学、英语、物理、化学成绩。

提示:使用 CASE WHEN + GROUP BY 或聚合函数实现行转列。

聚合函数 多表连接 group by case when

scores

student_idsubjectscoreexam_date
100611化学632024-03-30
100611化学492024-04-27
100611化学422024-05-25
100611化学222024-06-30
100611历史662024-03-30

 成为会员,解锁300道大厂数分SQL真题

ID133 晚时段专车比例  
简单 group by case when 滴滴出行
ID499 招建银行(七)周末消费族  
中等 group by case when 聚合函数 百分比计算 画像标签开发 招建银行
ID512 招建银行(二十)消费金额等级分布  
中等 group by case when 聚合函数 画像标签开发 招建银行
ID529 QQ音乐(十七)用户完成播放率  
中等 group by case when 聚合函数 百分比计算 用户分析 QQ音乐
ID535 QQ音乐(二十三)周末听歌分析  
简单 group by case when 时间日期 聚合函数 用户分析 QQ音乐

MySQL 8.0

00:00