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 姓名

 

posted @ 2020-10-27 19:08  猫_头  阅读(2090)  评论(0)    收藏  举报