我有一张叫做可食用的桌子。它具有类型、名称等列。
类型列有fruit, veggie, veggie, fruit, veggie值。
name列有apple, brinjal, carrot, banana, cabbage.values
我希望输出为,类型列必须仅显示 2 行,名称应显示所有值。
它应该如下所示:
我已经尝试了以下查询,但这不是我所期望的:
select distinct on (type) type, name from eatable;
帮帮我!!
我有一张叫做可食用的桌子。它具有类型、名称等列。
类型列有fruit, veggie, veggie, fruit, veggie值。
name列有apple, brinjal, carrot, banana, cabbage.values
我希望输出为,类型列必须仅显示 2 行,名称应显示所有值。
它应该如下所示:
我已经尝试了以下查询,但这不是我所期望的:
select distinct on (type) type, name from eatable;
帮帮我!!
您可以使用 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}