[英]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.