我的数据是这样的
ID RE_ID
1 2001
2 2001
2 2003
1 2002
3 2003 
2 2002
3 2004
......
我希望的到的数据是:
ID RE_ID
1 2001,2002
2 2001,2002,2003
3 2003,2004
原表并为对ID进行排序,数据库规模比较大(百万级记录)。
求mysql多行合并为一行的语句,效率优先。

解决方案 »

  1.   

    以前有高人写过类似的:select id,group_concat(re_id order by re_id separator ",") as re_id
    from tablename
    group by id
      

  2.   

    楼上写的对,用group_concat这个函数就可以实现。
      

  3.   

    select   id,group_concat(re_id order by re_id separator ", ")   as   re_id
    from   tablename
    group   by   id
      

  4.   

    select   id,group_concat(re_id   order   by   re_id   separator   ", ")   as   re_id 
    from   tablename 
    group   by   id
    如果是MSSQL 数据库 可以写个函数然后调用