我试图提取一列数组的DISTINCT值。
例如,如果我有两行。
{jonathan,michelle}
{jonathan,michael}
输出应该是:
{jonathan,michelle,michael}
输出可以是一个数组,也可以是一个 "虚拟列",这不是问题。
你可以取消嵌套并聚合回来,忽略重复的元素。
select array_agg(distinct u.val) new_ar
from mytable t
cross join lateral unnest(t.ar) as u(val)
请注意,这并不能保证元素出现在最终数组中的顺序(有一些选项,但你没有指定你想要的东西)。