学校教务处需要生成学生成绩汇总表,将每个学生的各科成绩从多行转为一行显示。
现有成绩表 scores(学生ID、科目、分数)和学生表 students(学生ID、姓名)。
请编写SQL查询,将学生成绩行转列,输出学生姓名、语文、数学、英语、物理、化学成绩。
提示:使用 CASE WHEN + GROUP BY 或聚合函数实现行转列。
scores
| student_id | subject | score | exam_date |
|---|---|---|---|
| 100611 | 化学 | 63 | 2024-03-30 |
| 100611 | 化学 | 49 | 2024-04-27 |
| 100611 | 化学 | 42 | 2024-05-25 |
| 100611 | 化学 | 22 | 2024-06-30 |
| 100611 | 历史 | 66 | 2024-03-30 |
 成为会员,解锁300道大厂数分SQL真题
MySQL 8.0