闫粤东

2022-03-11   阅读量: 312

SQL行列转换

扫码加入数据分析学习群

使用sql实现行列转换

第1步,使用常量列输出目标表的结构

select 学号,'课程号0001','课程号0002','课程号0003'
from score;

第2步,使用case表达式,替换常量列为对应的成绩

select 学号,
(case 课程号 when '0001' then 成绩 else 0 end) as '课程号0001',
(case 课程号 when '0002' then 成绩 else 0 end) as '课程号0002',
(case 课程号 when '0003' then 成绩 else 0 end) as '课程号0003'
from score;

在这个查询结果中,每一行表示了某个学生某一门课程的成绩。比如第一行是'学号0001'选修'课程号00001'的成绩,而其他两列的'课程号0002'和'课程号0003'成绩为0。

第3步,分组

分组,并使用最大值函数max取出最大值

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
576.7802 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程