我有一个充满记录和数组列的表,现在我想获得该列中所有(唯一)值的列表。得到这个的最好方法是什么?
我尝试使用unnest
,array_agg
和string_agg
,但没有到达任何地方......
(使用Postgres 9.2)
答案 0 :(得分:3)
select distinct unnest(a)
from (values
(array[1, 2]),
(array[2, 3])
) s(a);
unnest
--------
3
1
2
或聚合在一个数组中:
select array_agg(a order by a)
from (
select distinct unnest(a) as a
from (values
(array[1, 2]),
(array[2, 3])
) s(a)
) s;
array_agg
-----------
{1,2,3}