将多行组合到SQL中的逗号分隔列表中

时间:2014-03-29 07:40:44

标签: mysql sql select

我有一个MySQL表StudentName(id,name),如下所示:

id | name  
++++++++  
1 | alex    
1 | adam    
1 | adnan       
2 | ben   
2 | bush           
3 | cris  
4 | daisi   
4 | diana     

我想制作一个像这样的新表:

id | name   
+++++++++++    
1 | alex, adam, adnan    
2 | ben, bush        
3 | cris     
4 | daisi, diana   

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:18)

group_concat功能是您正在寻找的功能:

SELECT   id, GROUP_CONCAT(name ORDER BY name ASC SEPARATOR ', ')
FROM     my_table
GROUP BY id