如题
其实行专列真心很简单 只要懂得原理就能看透
分析下代码
select name , max(case km when '数学' then fs else 0 end ) 数学, max(case km when '英语' then fs else 0 end ) 英语, max(case km when '语文' then fs else 0 end ) 语文 from hzl group by name
这其实就只是一个group by的用法而已
case km when '数学' then fs else 0 end
这个就是查询该人的全部数学成绩后选取最大的值(把为NULL的换成了0 这样就可以做大小判断了)