繁体   English   中英

从Postgres中的对象数组中选择一个具有特定字段所有值的数组

[英]Select an array with all the values of a particular field from an array of objects in Postgres

我有一列,包含一个对象数组:

[{"name": "Sue", "job": "dev"}, {"name": "Bob", "job": "designer"}]

我想选择该列,但是我只对字段“ job”的值感兴趣,所以我想要一个这样的数组:

["dev", "designer"]

我认为可以使用JSON运算符和函数来实现此目的,但是我在这里找不到合适的东西: https : //www.postgresql.org/docs/10/functions-json.html 我在那些文档中忽略了什么吗? 还有另一种方法可以做到这一点吗?

json_to_recordset和array_agg应该可以解决您的问题:

select array_agg(job) 
  from myTable
  cross join lateral 
  json_to_recordset(myTable.myJsonColumn) as t(name text, job text);

这是一个SQLFiddle演示

注意:感谢Tony对数组的了解。 我错过了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM