【问题标题】:Postgresql row to json as array of values (without keys)Postgresql 行到 json 作为值数组(没有键)
【发布时间】:2020-10-16 23:11:28
【问题描述】:

我正在尝试将查询结果映射到 PostgreSQL 中的 JSON。

我可以使用以下查询进行映射:

select row_to_json(t) from (select * from mytable) t;

比如让表'mytable'包含三列三记录,那么查询可以返回:

{"first":11,"second":12,"third":13}
{"first":21,"second":22,"third":23}
{"first":31,"second":32,"third":33}

上面的查询将每一行作为 JSON 对象返回。但是每一行的所有键都是相同的。

我只想获取像这样的 JSON 数组的值:

[11,12,13]
[21,22,23]
[31,32,33]

如何在 PostgreSQL 中高效地做到这一点?...

【问题讨论】:

    标签: sql arrays json postgresql


    【解决方案1】:

    您可以使用json_build_array() - 但它需要枚举列名:

    select json_build_array(first, second, third) res
    from mytable t
    

    Demo on DB Fiddle

    |资源 | | :----------- | | [11, 12, 13] | | [21, 22, 23] | | [31, 32, 33] |

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      相关资源
      最近更新 更多