日期:2014-05-16  浏览次数:20649 次

mysql数据库中怎样实现多行合并为一行?
我的数据是这样的
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多行合并为一行的语句,效率优先。

------解决方案--------------------
以前有高人写过类似的:

select id,group_concat(re_id order by re_id separator ", ") as re_id
from tablename
group by id
------解决方案--------------------
楼上写的对,用group_concat这个函数就可以实现。
------解决方案--------------------
select id,group_concat(re_id order by re_id separator ", ") as re_id
from tablename
group by id
------解决方案--------------------
SQL code
select   id,group_concat(re_id   order   by   re_id   separator   ", ")   as   re_id 
from   tablename 
group   by   id