arrays - 如何聚合 Postgres 数组中多条记录的所有数组值?

标签 arrays postgresql

我有一个充满记录的表和一个数组列,现在我想获取该列中所有(唯一)值的列表。获得它的最佳方式是什么?

我尝试使用 unnestarray_aggstring_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/

相关文章:

sql - 两个group by和一个sum sql占总数的百分比

mysql - MySQL 中 Postgresql 的 check_function_bodies?

java - 如何将 int 数组作为单个 3 位输入读取?

mysql - 有没有人让 pgloader 为从 Mysql 迁移到 Postgres 工作

postgresql - PostgreSQL 中的文本压缩

java - C#.NET 和 Java 中的二维数组性能

java - 将字符串格式的空值从 iBatis 传递到 Postgres DB 中的整数值

javascript - JS 到 Objective-C 的拼接函数

c++ - 通过引用返回局部变量

python - csv - 如何使用 python 和 pandas 获取某一行中的行值?