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