id name subj score
1 a 语文 88
2 a 数学 89
3 b 外语 99
求一条sql显示:id,name,语文(成绩),数学(成绩),外语(成绩),平均成绩,总成绩
一条sql可以搞定吗?
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…
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