select  学号,group_concat(成绩)
from tb
group by  学号

解决方案 »

  1.   

    select 学号,max(if(试卷id=1,成绩,0)) as 成绩1,
    ...,
    max(if(试卷id=5,成绩,0)) as 成绩5
    from tt group by 学号
      

  2.   

    SELECT  id,
                     sum(if(试卷id=1,87,0) as 成绩1,
                     sum(if(试卷id=2,89,0) as 成绩2,
                     sum(if(试卷id=3,93,0) as 成绩3,
                     sum(if(试卷id=4,83,0) as 成绩4,
                     sum(if(试卷id=5,89,0) as 成绩5
    from 
    tb
    group by id
      

  3.   

    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...
      

  4.   


    你是牛人啊,谢谢,group_concat出来的数据是返回数组还是返回字符串?
      

  5.   

    判断当学期,如果没有默认给个值。
    到时合并的时候group_concat()就有数据填充。