Строка sql cat как агрегатная функция: объединение нескольких записей - PullRequest
4 голосов
/ 18 мая 2011

У меня есть таблица со столбцами: (project_id, name)

Это список людей, у каждого из которых есть свой проект. Если человек участвует в двух проектах, он дублируется.

Я хочу извлечь таблицу со столбцами: (project_id, people), где people - это строка имен всех людей, работающих над этим проектом. Кошка должна быть разделена запятой, вот так:

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

становится

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

Ответы [ 2 ]

8 голосов
/ 18 мая 2011

вы можете сделать это с помощью простого запроса

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
0 голосов
/ 18 мая 2011

Групповой конкат поможет вам в этом случае

См. Это http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...