创建表选项卡(ID INT,jsdata jsonb)
插入选项卡值(1,'[{“a”:1,“b”:2,“c”:3},{“a”:4,“b”:5,“c”:6},{ "a": 7, "b": 8, "c":9}]'::jsonb), (2,'[{"a": 4, "b": 2, "c":3}, {"a": 9, "b": 5, "c":6},{"a": 7, "b": 8, "c":9}]'::jsonb)
UPDATE tab t1 SET jsdata = ( SELECT jsonb_agg(elm) FROM tab t2 CROSS JOIN jsonb_array_elements(jsdata) AS elm WHERE (elm->>'a')::int != 4 AND t2.ID = 2 GROUP BY t2.ID ) 其中 t1.ID = 2
结果:1,'[{“a”:1,“b”:2,“c”:3},{“a”:4,“b”:5,“c”:6},{“a” : 7, "b": 8, "c":9}]', 2,'[{"a": 9, "b": 5, "c":6},{"a": 7, " b": 8, "c":9}]'