日期:2014-05-18  浏览次数:20731 次

sql面试问题
student表
名字 科目 成绩
--------------------------------
张三 语文 98
张三 数学 87
李四 语文 96
李四 数学 78
---------------------------------
用sql 查询语句显示成 下面样式

名字 语文 数学
---------------------------------
张三 98 87
李四 96 78

------解决方案--------------------
探讨

引用:

select 名字, max(case 科目 when '语文' then 成绩 else 0 end) AS '语文',MAX(case 科目 when '数学' then 成绩 else 0 end) AS '数学'
from student group by 名字

能给解释一下原理么? 我有点看不明白