new_ar

问题描述 投票:0回答:1

我试图提取一列数组的DISTINCT值。

例如,如果我有两行。

{jonathan,michelle}
{jonathan,michael}

输出应该是:

{jonathan,michelle,michael}

输出可以是一个数组,也可以是一个 "虚拟列",这不是问题。

arrays postgresql distinct
1个回答
0
投票

你可以取消嵌套并聚合回来,忽略重复的元素。

select array_agg(distinct u.val) new_ar
from mytable t
cross join lateral unnest(t.ar) as u(val)

请注意,这并不能保证元素出现在最终数组中的顺序(有一些选项,但你没有指定你想要的东西)。

DB Fiddle上的演示:

© www.soinside.com 2019 - 2024. All rights reserved.