Как сгруппировать данные только в одном столбце?

Рейтинг: 0Ответов: 1Опубликовано: 07.07.2023

Имею таблицу:

id name comments
1 A com1
1 A com2
2 B com3
2 B com4

Каким запросом могу получить такой результат?

id name comments
1 A com1, com2
2 B com3, com4

Без разницы com-ы через запятую или друг под другом главное, чтобы были в одной ячейке. Спасибо!

Ответы

▲ 0

Демо таблица:

create table dbeaver (
  id int,
  name varchar(20),
  comments varchar(100)
  );
insert into dbeaver (id,name,comments) values (1,'A','com1');
insert into dbeaver (id,name,comments) values (1,'A','com2');
insert into dbeaver (id,name,comments) values (2,'B','com3');
insert into dbeaver (id,name,comments) values (2,'B','com4');

Решение:

SELECT id,min(name),string_agg(comments,',')
FROM dbeaver
GROUP BY id 

Решение на db-fiddle.com