求一条sql

MySql 码拜 9年前 (2016-02-01) 1034次浏览
id   name    subj      score
1      a           语文          88
2      a            数学          89
3       b           外语          99
求一条sql显示:id,name,语文(成绩),数学(成绩),外语(成绩),平均成绩,总成绩
一条sql可以搞定吗?
解决方案:5分
http://blog.csdn.net/acmain_chm/article/details/4283943
MySQL交叉表
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx(  id int primary key,  c1 c…
解决方案:35分
select name,
       max(case when subj = ""语文"" then score end) as 语文,
	   max(case when subj = ""数学"" then score end) as 数学,
       max(case when subj = ""外语"" then score end) as 外语,
	   avg(score) as 平均成绩,
	   sum(score) as 总成绩
from tb
group by name

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求一条sql
喜欢 (0)
[1034331897@qq.com]
分享 (0)