sql server 有很多方法  请问 mysql 怎么实现。别用函数和存储过程能否实现
create table tb(id int, value varchar(10)) 
insert into tb values(1, 'aa') 
insert into tb values(1, 'bb') 
insert into tb values(2, 'aaa') 
insert into tb values(2, 'bbb') 
insert into tb values(2, 'ccc') 
go select id, [values]=stuff((select ','+[value] from tb t where id=tb.id for xml path('')), 1, 1, '') 
from tb 
group by id /* 
id          values 
----------- -------------------- 
1          aa,bb 
2          aaa,bbb,ccc (2 row(s) affected) */ drop table tb 

解决方案 »

  1.   

    参考
    http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?84461
    帖子中我的回答
      

  2.   

    mysql> select * from tb;
    +------+-------+
    | id   | value |
    +------+-------+
    |    1 | aa    |
    |    1 | bb    |
    |    2 | aaa   |
    |    2 | bbb   |
    |    2 | ccc   |
    +------+-------+
    5 rows in set (0.05 sec)mysql> select id,group_concat(`value`) as `values`
        -> from tb
        -> group by id;
    +------+-------------+
    | id   | values      |
    +------+-------------+
    |    1 | aa,bb       |
    |    2 | aaa,bbb,ccc |
    +------+-------------+
    2 rows in set (0.00 sec)mysql>