sql - 为从 Postgres 中提取的列列表中的值创建数组

标签 sql arrays postgresql aggregate-functions

我有以下一组表格:

id   column_a  column_b   column_c
1     t          f           t
2     t          f           f
3     f          t           f

当被查询时:

SELECT bool_or(column_a) AS column_a
     , bool_or(column_b) AS column_b
     , bool_or(column_c) AS column_c
FROM   tbl
WHERE  id IN (1,2);

给出的结果为:

column_a   column_b   column_c
 t          f            t

我想从结果中获取数组:Postgres 中的 [t,f,t]

请引用之前关于here的堆栈问题.

最佳答案

使用 ARRAY constructor :

SELECT ARRAY [bool_or(column_a)
            , bool_or(column_b)
            , bool_or(column_c)] AS arr_abc
FROM   tbl
WHERE  id IN (1,2);

关于sql - 为从 Postgres 中提取的列列表中的值创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40415894/

相关文章:

mysql - 查询以从 3 个不同的表中获取不同键的数据

postgresql - Ecto:如何用不同的随机数更新所有记录

mysql - 如何将 HAVING 与 COUNT 一起用作聚合函数

android - 左外连接 sql 不工作

arrays - 使用二维数组寻找孤立的城市

c# 将 1 维数组分配给 2 维数组语法

postgresql - 如何使用 Postgis 查找我所在城市的所有街道交叉口

postgresql - 如何创建作为一组枚举值的 PostgreSQL 列?

MySQL 插入和选择

arrays - J 和 L 系统