sql string cat作为聚合函数:cat将多个记录放在一起

时间:2011-05-18 09:20:25

标签: mysql sql

我有一个包含列的表:(project_id,name)

这是一个人员列表,每个人都有自己所属的项目。如果一个人在两个项目中,则会重复。

我想提取一个包含列的表:( project_id,people)其中people是一个字符串cat,其中包含该项目所有人的名字。猫必须以逗号分隔,如下所示:

12, john
12, mark
12, dave
14, luke

变为

12, "john, mark, dave"
14, "luke"

2 个答案:

答案 0 :(得分:8)

您可以通过简单的查询

来完成此操作
SELECT project_id, GROUP_CONCAT(name) as people
FROM table
GROUP BY project_id

如果你坚持在逗号后留空:

SELECT project_id, GROUP_CONCAT(name SEPARATOR ", ") as people
FROM table
GROUP BY project_id

答案 1 :(得分:0)

在这种情况下,小组concat将帮助您

请参阅此http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat