我有一个充满记录的表和一个数组列,现在我想获取该列中所有(唯一)值的列表。获得它的最佳方式是什么?
我尝试使用 unnest
、array_agg
和 string_agg
但没有得到任何结果...
(使用 Postgres 9.2)
最佳答案
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}
关于arrays - 如何聚合 Postgres 数组中多条记录的所有数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17655279/