我正在尝试提取数组列的DISTINCT值。
例如,如果我有两行:
{jonathan,michelle}
{jonathan,michael}
输出应该是:
{jonathan,michelle,michael}
输出可以是一个数组或"虚拟列",这不成问题。
我正在尝试提取数组列的DISTINCT值。
例如,如果我有两行:
{jonathan,michelle}
{jonathan,michael}
{jonathan,michelle,michael}
SELECT DISTINCT(unnest(tbl.ar)) FROM tbl
select array_agg(distinct u.val) new_ar
from mytable t
cross join lateral unnest(t.ar) as u(val)
| new_ar | | :-------------------------- | | {jonathan,michael,michelle} |
where
子句在 from
子句之后(其中包括 lateral join
)。 - GMB
tbl
在tbl.ar
中是不必要的,也就是说,以下语句对我来说是有效的:SELECT DISTINCT(unnest(ar)) FROM tbl
。 - undefinedtbl.ar
中的tbl
是可选的,除非在一些更复杂的查询中需要解决歧义。 - undefined