version = 9.5.5
现在我有一个名为info的列,如下所示:
[{"id":1, "name":"car"},{"id":2, "name":"bus"}]
我想删除{" id":2," name":" bus"},其中id = 2,而不是info :: jsonb - 1 ,不是通过索引而是键值,所以我该怎么做?感谢
答案 0 :(得分:1)
select jsonb_agg(e.value) from (
select '[{"id":1, "name":"car"},{"id":2, "name":"bus"}]'::jsonb as data
) a, jsonb_array_elements(a.data) e
where e.value->>'id' <> '2'