转成
叫做行转列:
select name,
sum(case when course = '语文' then score else 0 end) 语文,
sum(case when course = '数学' then score else 0 end) 数学,
sum(case when course = '英语' then score else 0 end) 英语
from student_score
group by name;
反过来叫行转列:
select
name,
'语文' as course,
sum(语文) as score
from student_score2
group by name
union
select
name,
'数学' as course,
sum(数学) as score
from student_score2
group by name
union
select
name,
'英语' as course,
sum(英语) as score
from student_score2
group by name