将表列内容横向展示
< 返回列表时间: 2019-08-19来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
表结构:
姓名 课程 分数 张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 李四
数学 物理
84 94

转化结果:
姓名 语文 数学 物理 平均分 总分
张三 李四
74 74
83 84
93 94
83.33 84.00
250 252

sql实现: SELECT t.student AS '姓名', max( CASE WHEN course_name = '语文' THEN '分数' ELSE 0 END ) AS '语文', max( CASE WHEN course_name = '数学' THEN '分数' ELSE 0 END ) AS '数学', max( CASE WHEN course_name = '物理 ' THEN '分数' ELSE 0 END ) AS '物理 ', cast(avg(t.score) as decimal(18,2)) AS '平均分', sum(t.score) AS '总分' FROM course t GROUP BY t.student
热门排行