[英]Select data from a nested jsonb array in Postgres
我想 select 嵌套這樣的數組中的最后一個值:
{ tier: [
{ tier: [] },
{ tier: [] },
{ tier: [
{ tier: 1},
{ tier: 2},
{ tier: 3}, // < this item
]
},
]
}
我嘗試在其他示例中使用類似的內容,但語法讓我難以理解。 我要么得到“列不存在”或“無法從對象中提取元素”
SELECT *,
t0->tier->(jsonb_array_length(t0->tier) - 1) t1,
t1->tier->(jsonb_array_length(t1->tier) - 1) t2,
t2->tier->(jsonb_array_length(t2->tier) - 1) t3,
FROM data t0
您可以通過負索引引用它:
SELECT t -> 'tier' -> -1 -> 'tier' -> -1
FROM data;
這里的 -1 引用了數組的最后一項,這意味着你不需要計算有多少元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.