sql - postgresql 合并文本[]

标签 sql postgresql

我能知道如何根据标识符合并数组吗:

    Column1    Column2
--------------------------
    1          {"a","b"}
    1          {"c"}
    2          {"d"}
    2          {"w"}

输出:

    Column1    Column2
--------------------------
    1          {"a","b","c"}
    2          {"d","w"}

尝试过 array_agg 但这不是合并数组的合适函数。目前使用 8.4 版。

最佳答案

CREATE AGGREGATE array_concat(TEXT[]) (
    SFUNC = array_cat,
    STYPE = TEXT[],
    INITCOND = '{}'
);

假设您的表是“a”,受影响的列是“n”和“t”:

 SELECT array_concat(t) FROM a GROUP BY n;

关于sql - postgresql 合并文本[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153768/

相关文章:

.net - SQL Server 的两个管理员帐户

MySQL在附加条件下找到最小未使用值

c# - SqlDataAdapter 不填充 DataSet

sql - 选择表中不存在的 ID

javascript - 如何在 Sequelize JS 和 PostgreSQL 中的 1 :M relationship when implementing with . bulkCreate() 中使用外键

sql - 是否可以创建一个 sql 脚本来创建数据库并用表填充它?

php - MySQL插入数据问题

ruby-on-rails - INSERT RETURNING 和分区 POSTGRESQL

perl - 为什么 psql 在此用户定义的函数中向主机名添加 '+' 符号

postgresql - 如何在不先定义表中的列的情况下将数据加载到 PostgreSQL 中?