SQL字符串连接作为聚合函数:将多个记录连接在一起

4

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

这是一个人员列表,每个人都属于一个项目。如果一个人在两个项目中工作,则会出现重复。

我想提取一个包含列 (project_id, people) 的表格,其中 people 是所有在该项目上工作的人名组成的字符串。这个字符串需要用逗号分隔,就像这样:

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

变成

12, "john, mark, dave"
14, "luke"
2个回答

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
SELECT ... GROUP_CONCAT(name SEPARATOR ', ') as people FROM ... - Carlos Campderrós

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接