问题是这样的,一个code表中有data,code,user三个字段,记录每个用户在不同时间里得到的分数,
问题是我界面的显示是,而user字段又是不断
变化的,我怎么通过这个表来显示出,不用时间,所有用户的分数sql语句,用了好多办法就是找不出我先要的
效果,问题是,设计表的时候USER,和data都是行。

解决方案 »

  1.   


    SET @sql := 'SELECT data';
     SELECT @sql := CONCAT(@sql, ', sum(case user when ', user, ' then 分数 else 0 end) as `', user`')
     FROM (SELECT user FROM tbl GROUP BY user) AS a;
     SELECT @sqlstr := CONCAT(@sql, ' from tbl group by data');
     PREPARE rc FROM @sqlstr;
     EXECUTE rc;
      

  2.   


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