[英]How to select single field from array of json objects?
我有一個 JSONB 列,其值位於 JSON 結構中
{
"a": "value1", "b": [{"b1": "value2", "b3": "value4"}, {"b1": "value5", "b3": "value6"}]
}
我只需要 select 結果中的b1
字段。 所以預期的結果是
["value2", "value5"]
我可以使用查詢 select 完整數組
select columnname->>'b' from tablename
SELECT
jsonb_agg(elements -> 'b1') -- 2
FROM mytable,
jsonb_array_elements(mydata -> 'b') as elements -- 1
如果您使用的是 Postgres 12 或更高版本,則可以使用 JSON 路徑查詢:
select jsonb_path_query_array(the_column, '$.b[*].b1')
from the_table;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.