因为要面试,补充下sql知识,下面的行转列语句,不明其中sum函数在此处的意思,这个sum可以换成max,为什么要加上这个呢,去掉就去掉这个函数只显示语文成绩,其他的都为0
`select S.studentname,sum(case subject when '语文' then score else 0 end) 语文,
sum(case subject when '数学' then score else 0 end) 数学,
sum(case subject when '英语' then score else 0 end) 英语 from student as s GROUP BY S.studentname;`
姓名 语文 数学 英语
stone 98 80 66
周顺得 100 80 50
没使用函数的结果如下:
stone 98 0 0
周顺得 100 0 0
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。