簡體   English   中英

來自 Postgres 中嵌套 jsonb 數組的 Select 數據

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM