日期:2014-05-16 浏览次数:21028 次
select 学号,姓名, max(if(实验代号=1,实验成绩,null)) as 实验1成绩, max(if(实验代号=1,实验签到打分,null)) as 实验1签到打分, max(if(实验代号=2,实验成绩,null)) as 实验2成绩, max(if(实验代号=2,实验签到打分,null)) as 实验2签到打分, max(if(实验代号=3,实验成绩,null)) as 实验3成绩, max(if(实验代号=4,实验签到打分,null)) as 实验3签到打分 from MYSQL数据表格式如下 group by 学号,姓名
------解决方案--------------------
select 学号,姓名,case when 实验代号=1 then 实验成绩 end as 实验1成绩 ,case when 实验代号=1 then 实验签到打分 end as 实验1签到打分 ,case when 实验代号=2 then 实验成绩 end as 实验1成绩 ,case when 实验代号=2 then 实验签到打分 end as 实验1签到打分 ,case when 实验代号=3 then 实验成绩 end as 实验1成绩 ,case when 实验代号=3 then 实验签到打分 end as 实验1签到打分 from tb group by 学号,姓名
------解决方案--------------------
select 学号,姓名,
sum(if(实验代号=1,实验成绩,0)) as 实验1成绩,
sum(if(实验代号=1,实验签到打分,0)) as 实验1签到打分,
sum(if(实验代号=2,实验成绩,0)) as 实验2成绩,
sum(if(实验代号=2,实验签到打分,0)) as 实验2签到打分,
sum(if(实验代号=3,实验成绩,0)) as 实验3成绩,
sum(if(实验代号=4,实验签到打分,0)) as 实验3签到打分
from tt group by 学号,姓名
动态的参考
http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?99355
我的回答