我有一个表格,包含列:(project_id, name)
这是一个人员列表,每个人都属于一个项目。如果一个人在两个项目中工作,则会出现重复。
我想提取一个包含列 (project_id, people) 的表格,其中 people 是所有在该项目上工作的人名组成的字符串。这个字符串需要用逗号分隔,就像这样:
12, john
12, mark
12, dave
14, luke
变成
12, "john, mark, dave"
14, "luke"
您可以使用简单的查询来完成此操作。
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
在这种情况下,Group concat会对您有所帮助。
请参考http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat。
SELECT ... GROUP_CONCAT(name SEPARATOR ', ') as people FROM ...
- Carlos Campderrós