在postgresql中连接数据
concatenate data in postgresql
我有一个这样的 table 数据:
我想在 postgresql 中连接如下数据:
我使用了如下查询但是有一个小问题:
select
Item,
array_to_string(array_agg(Component) ,', ') AS Component,
array_to_string(array_agg(Seller) ,', ') AS Seller
from tablename
group by Item
它给我以下输出:
A2项显示了两次C89,我只想显示一次。
请帮帮我!!
使用distinct
,你也不需要array_agg()
:
select item,
string_agg(distinct component, ',') as component,
string_agg(distinct seller, ',') as seller
from tablename
group by item;
这应该可行,有时您需要告诉它如何对不同的进行排序
select
Item,
array_to_string(array_agg(DISTINCT Component ORDER BY Item DESC ) ,', ') AS Component,
array_to_string(array_agg((DISTINCT Seller ORDER BY Item DESC) ,', ') AS Seller
from tablename
group by Item
我有一个这样的 table 数据:
我想在 postgresql 中连接如下数据:
我使用了如下查询但是有一个小问题:
select
Item,
array_to_string(array_agg(Component) ,', ') AS Component,
array_to_string(array_agg(Seller) ,', ') AS Seller
from tablename
group by Item
它给我以下输出:
A2项显示了两次C89,我只想显示一次。
请帮帮我!!
使用distinct
,你也不需要array_agg()
:
select item,
string_agg(distinct component, ',') as component,
string_agg(distinct seller, ',') as seller
from tablename
group by item;
这应该可行,有时您需要告诉它如何对不同的进行排序
select
Item,
array_to_string(array_agg(DISTINCT Component ORDER BY Item DESC ) ,', ') AS Component,
array_to_string(array_agg((DISTINCT Seller ORDER BY Item DESC) ,', ') AS Seller
from tablename
group by Item