SQL行专列 其实很简单

如题

其实行专列真心很简单 只要懂得原理就能看透

分析下代码

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 这样就可以做大小判断了)

 

 

posted on   奋斗的笨小孩  阅读(507)  评论(0编辑  收藏  举报
努力加载评论中...

点击右上角即可分享
微信分享提示