【问题标题】:How to select array of Integers in postgresql如何在postgresql中选择整数数组
【发布时间】:2019-01-16 14:55:01
【问题描述】:

我想从表中的整数数组中进行选择,如下所示:

[1, 2, 3]

现在尝试这样的事情:

(SELECT array_to_json(array_agg(row_to_json(s))) FROM(
 SELECT specialty FROM talent_specialty WHERE userid = 840 )s);

这是查询返回的记录

[{"specialty":1},{"specialty":2}]

表格如下:

【问题讨论】:

  • 你的预期输出是什么?
  • @Tony 只是这样的整数数组 [1, 2, 3]
  • 所以只是为了确保我理解。你有[{"specialty":1},{"specialty":2}, ...] 并且想要[1,2,3,...]
  • [{"specialty":1},{"specialty":2}, ...] 是您表中的值吗?或者您的表格是否包含第 1、2、3 行的列?如果您可以在您的问题中添加一个示例表,那就太好了
  • 是的,这就是 json_agg 所做的(参见链接的演示和文档)

标签: sql arrays json postgresql


【解决方案1】:

你只是搜索json_agg吗?

demo:db<>fiddle

SELECT json_agg(speciality) 
FROM talent_speciality

如果您不需要 JSON 数组而是简单数组,当然可以使用 array_agg

SELECT array_agg(speciality) 
FROM talent_speciality

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2017-11-02
    • 2015-08-30
    相关资源
    最近更新 更多