postgresql - различается только в одном столбце
У меня есть стол, который называется съедобным. У него есть такие столбцы, как тип, имя.
тип столбца имеет fruit, veggie, veggie, fruit, veggie
ценности.
имя столбца имеет apple, brinjal, carrot, banana, cabbage
.ценности
Я хочу вывод, как, тип столбца должен отображать только 2 строки и имя должно отображать все значения.
Это должно понравиться ниже:
Я пробовал приведенный ниже запрос, но это не так, как я ожидал:
select distinct on (type) type, name from eatable;
Помоги мне!!
1 ответ
Решение
Вы можете использовать агрегатные функции PostgreSQL
SELECT type
,string_agg(NAME, ',') "name"
FROM eatable
GROUP BY type;
Результат:
type name
text text
------ ----------------------
fruit apple,banana
veggie brinjal,carrot,cabbage
ИЛИ ЖЕ
SELECT type
,array_agg(name) "name"
FROM eatable
GROUP BY type;
Результат:
type name
text text[]
------ ------------------------
fruit {apple,banana}
veggie {brinjal,carrot,cabbage}