第一个是行列转置,select student,sum(decode(subject,'语文', grade,null)) "语文",sum(decode(subject,'数学', grade,null)) "数学",sum(decode(subject,'英语', grade,null)) "英语"from tablegroup by student; 第二个当然你行数多了不行~select distinct tmp2.a,
(select b
from (SELECT a,
...
其实这就是数据表列转行的问题。 A->B的转换:select name 姓名,max(case subject when '语文' then score else 0 end) as '语文',max(case subject when '数学' then score else 0 end) as '数学',max(cas...