Группировка значений и изменение значений, которые не позволяют сгруппировать оставшуюся часть строки - PullRequest
0 голосов
/ 02 марта 2020

Не знаю, как это описать, но я хочу сгруппировать строку значений, где одно поле имеет два или более разных значений, и установить значение этого (но объединить или изменить значения), чтобы получить только одну единственную строку.

Например: у меня есть простая таблица (все поля - строки) людей рядом с их отделами. Но некоторые люди принадлежат к нескольким отделам.

select department_ind, name 
from jobs
;

department_ind  name
1               Michael
2               Michael
2               Sarah
3               Dave
2               Sally
4               Sally

Я хочу сгруппировать по имени и объединить Department_ind. Таким образом, результаты показывают, как выглядит:

department_ind  name
1,2             Michael
2               Sarah
3               Dave
2,4             Sally

Спасибо

1 Ответ

2 голосов
/ 02 марта 2020

Использование string_agg()

select string_agg(department_ind::text, ',') as departments,
       name
from jobs
group by name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...