SQL查询将多行返回到同一个表的单个行和列中

时间:2014-04-11 07:43:23

标签: mysql sql

我的示例表如下:

表A

ID / Name / Sport

001 / Max / Football

005 / Steven / Badminton

006 / Cindy / Swimming

001 / Max / Tennis

001 / Max / Rugby

005 / Steven / Football

我想要一个SQL查询语句来返回结果,如下所示:

ID / Name / SportList

001 / Max / Football; Tennis; Rugby

005 / Steven / Badminton; Football

006 / Cindy / Swimming

抱歉,我必须使用'/'来区分列。由于声誉不佳,无法附加文件。

谢谢。

2 个答案:

答案 0 :(得分:2)

select 
 Id,
 Name,
 GROUP_CONCAT(Sport  ORDER BY Sport SEPARATOR '; ')
FROM TableA
GROUP BY  Id, Name

请参阅SqlFiddle

答案 1 :(得分:0)