假设有如下的表:


select student_id,
max(case project when 'Math' then grade end)Math,
max(case project when 'English' then grade end)English,
max(case project when 'Chinese' then grade end)Chinese
from grades group by student_id;
如果有空记录,例如有个student_id为4的学生没有数学成绩的话,可以使用else
填补空缺:
select student_id,
max(case project when 'Math' then grade else null end)Math,
max(case project when 'English' then grade else null end)English,
max(case project when 'Chinese' then grade else null end)Chinese
from grades group by student_id;
显示的结果为:
