SQL 面试经典问题 行列互相转化
1.行转列
select 姓名 as 姓名 ,
max(case 课程 when '语文' then 分数 else 0 end) 语文,
max(case 课程 when '数学' then 分数 else 0 end) 数学,
max(case 课程 when '物理' then 分数 else 0 end) 物理
from tb
group by 姓名
2.列转行
select * from (
select 姓名, "语文", 语文 as 分数 from grade2
union all
select 姓名, "数学", 数学 as 分数 from grade2
union all
select 姓名, "英语", 英语 as 分数 from grade2
) teptable