Sql Pivot行转列/列转行应用

表结构: select * from t

Sql Pivot行转列/列转行应用_第1张图片

需求: 获取单科目最高分

基本办法:

select 姓名,   

max(case 课程 when '语文' then 分数 else 0 end) 语文,  

max(case 课程 when '数学' then 分数 else 0 end) 数学,  

max(case 课程 when '物理' then 分数 else 0 end) 物理

from t

group by 姓名

结果:

Sql Pivot行转列/列转行应用_第2张图片

Pivot 函数:

select * from t pivot(max(分数) for 课程 in (语文, 数学, 物理)) 

Sql Pivot行转列/列转行应用_第3张图片

更多详情, 参考:https://wenku.baidu.com/view/c0dc84182f60ddccda38a0cc.html

你可能感兴趣的:(Sql)