0

我有一张叫做可食用的桌子。它具有类型、名称等列。

类型列有fruit, veggie, veggie, fruit, veggie值。

name列有apple, brinjal, carrot, banana, cabbage.values

我希望输出为,类型列必须仅显示 2 行,名称应显示所有值。

它应该如下所示:

可食用的

我已经尝试了以下查询,但这不是我所期望的:

select distinct on (type) type, name from eatable;

帮帮我!!

4

1 回答 1

2

您可以使用 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} 

演示

于 2015-12-31T05:26:11.780 回答