SQL行列转换详解

(1)首先可以想到根据姓名来进行分组
select 姓名 from scores group by 姓名

(2)接着使用case when方法 显示我们的 ‘'课程" 字段
select 姓名,
sum(case 课程 when '语文' then 分数 else 0 end)as 语文
from scores group by 姓名;

(3) 最后一步显示我们的‘“分数”字段就完成了
select 姓名,
sum(case 课程 when '语文' then 分数 else 0 end)as 语文,
sum(case 课程 when '数学' then 分数 else 0 end)as 数学,
sum(case 课程 when '物理' then 分数 else 0 end)as 物理
from scores group by 姓名


浙公网安备 33010602011771号