如何从postgresql数组列中获取唯一值

vd8tlhqk  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(414)

我试图提取数组列的不同值。
例如,如果我有两行:

{jonathan,michelle}
{jonathan,michael}

输出应为:

{jonathan,michelle,michael}

输出可以是数组或“虚拟列”,这不是问题。

lx0bsm1f

lx0bsm1f1#

您可以取消并重新聚合,忽略重复项:

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

请注意,这并不能保证元素在最终数组中出现的顺序(有一些选项,但您没有在这方面指定所需的内容)。
db小提琴演示:

| new_ar                      |
| :-------------------------- |
| {jonathan,michael,michelle} |

相关问题