3条回答 默认 最新
- danielinbiti 2015-04-25 12:38关注
像下面这样,出来的结果应该是
张三 60 90 80 最低分科目 最高分科目
李四 50 100 80 最低分科目 最高分科目select name,max(最低分) 最低分,max(最高分) 最高分,max(平均分) 平均分 ,max(最低分科目) 最低分科目,max(最高分科目) 最高分科目 from( select name ,case flg when 'min' then score else 0 end as 最低分 ,case flg when 'max' then score else 0 end as 最高分 ,case flg when 'avg' then score else 0 end as 平均分 ,case flg when 'min' then course else null end as 最低分科目 ,case flg when 'max' then course else null end as 最高分科目 from ( select name,course,score,'min' as flg from userscore u, (select name,min(score) minscore from userscore group by name) mu where u.name = mu.name and u.score=mu.score union select name,course,score,'max' as flg from userscore u, (select name,max(score) minscore from userscore group by name) mu where u.name = mu.name and u.score=mu.score union select name,null as course,avg(score) score,'avg' flg from userscore group by name )
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报