让表Profile
的{{1}}列records
为ARRAY
。 JSONB
列的形状如下:
records
我期待找到的是给定[
{
itemId: 1
value: true
insertOn: "2018-03-26T03:49:55.121Z"
},
{
itemId: 1
value: false
insertOn: "2018-03-27T03:49:55.121Z"
}
...
]
的最新价值。例如,itemId 1的最新值为itemId
。
如何实施查询?我试过false
,但不知道如何继续。
答案 0 :(得分:0)
您可以使用jsonb_array_elements
将JSON列扩展为行集。然后,您可以使用->>
访问其元素:
select ele->>'value'
from YourTable
cross join lateral
jsonb_array_elements(col1) arr(ele)
where ele->>'itemId' = '1'
order by
ele->>'insertOn' desc
limit 1