SQL语句做不到,因为首先SQL中根本没办法控制你这一列的顺序。如果确保这一列的物理顺序的话,可以通过程序或存储过程来实现。再者,如果加上一列自动编号,然后可以用SQL语句来实现,但效率显示不高。

解决方案 »

  1.   

    简化:
    select ceiling(id/4),
    max(if(id mod 4=1,qq,'')),
    max(if(id mod 4=0,qq,'')),
    max(if(id mod 4=2,qq,'')),
    max(if(id mod 4=3,qq,''))
     from ttl1
    group by ceiling(id/4);
      

  2.   

    那就要用动态生成SQL语句的方法了
    SELECT * FROM TT LIMIT 4
    打开游标循环,生成 AS 后面的内容,其它的是一致的
      

  3.   

    九楼的代码以 = 来区分,限制是,你的= 后面不能再出现=了。
    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html