欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL 实现行列转置问题

程序员文章站 2022-05-26 20:41:38
...
固定列数的行列转换,如:

select student,subject,grade from table;
student subject grade
--------- ---------- --------
student1 语文 80
student1 数学 70
student1 英语 60
student2 语文 90
student2 数学 80
student2 英语 100
……
转换为
语文 数学 英语
student1 80 70 60
student2 90 80 100
……
语句如下:select student,
max(case grade when '语文' then grade else 0 end) as yuwen,
max(case grade when '数学' then grade else 0 end) as shuxue,
max(case grade when '英语' then grade else 0 end) as yingyu
from table
group by student;