今天群里有人问个问题:


教师 星期号 是否有课

王大

2

王大

3

李二

1

赵三

2

王大

2

写一条sql语句让你变为这样的表

 

 

原数据:

 


其实本身这题挺简单,但是感觉问的人好多,所以就试着写了一下。


 


执行SQL



select t.teacherid as 教师,


       --实际意思就是  求和(decode(分组的字段,如果是这个,那么就显示这个))


       --因为最外层有个SUM所以会吧(显示的数字家和)


       SUM(decode(t.datenumber, 1, 1)) as 星期一,

       SUM(decode(t.datenumber, 2, 1)) as 星期二,

       SUM(decode(t.datenumber, 3, 1)) as 星期三

  from teacher t

group by t.teacherid