MYSQL行列转换详解

MYSQL行列转换详解
如下图:
MYSQL行列转换详解_第1张图片
(1)首先可以想到根据姓名来进行分组

 select 姓名 from scores group by 姓名   

MYSQL行列转换详解_第2张图片
(2)接着使用case when方法 显示我们的 ‘'课程" 字段

  select 姓名,
  sum(case 课程 when '语文' then 分数 else 0 end)as 语文
  from scores group by 姓名; 

MYSQL行列转换详解_第3张图片
(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 姓名

MYSQL行列转换详解_第4张图片

你可能感兴趣的:(mysql)