SQL-json中哈希内数组元素的查询

SQL-json中哈希内数组元素的查询,sql,json,postgresql,Sql,Json,Postgresql,我有一个表,其中有一个jsonb列,结构如下 my_json:{records:[{id:1,name:first},{id:2,name:second},{id:3,name:third}]} 我需要的是选择records键中存在的所有ID。对于这个json结构,我在任何地方都找不到任何帮助 我尝试了以下查询,但实际上无法达到我想要达到的程度 "select my_json->>'records' from my_table where my_json->>'recor

我有一个表,其中有一个jsonb列,结构如下

my_json:{records:[{id:1,name:first},{id:2,name:second},{id:3,name:third}]}

我需要的是选择records键中存在的所有ID。对于这个json结构,我在任何地方都找不到任何帮助

我尝试了以下查询,但实际上无法达到我想要达到的程度

"select my_json->>'records' from my_table where my_json->>'records' is not null AND my_json #> '{records}' != '[]'"
这实际上给出了完整的数组,但我需要的是其中所有“id”键的值

谁能帮我整理一下吗

注意:我使用Postgres 9.5来查找json\u数组\u元素:

查找json_数组_元素:

我从my_表中获取PG::UndefinedFunction:ERROR:function json_array_elementsjsonb不存在当执行select json_array_elementsmy_json->'records'->'id'时出错,其中my_json->'records'不为null,my_json>'{records}'!='[]因为您在post中说的是json,而不是jsonb,对于后者,使用jsonb_数组_元素函数…我得到PG::UndefinedFunction:ERROR:function json_数组_元素jsonb不存在错误从my_表中执行select json_数组_元素my_json->'records'>'id',my_json->'records'不为空且my_json>'{records}'!='[]因为您在post中说的是json,而不是jsonb,后者使用jsonb_数组_元素函数。。。
t=# with c(my_json) as (values (' {"records": [{"id":1, "name":"first"}, {"id":2, "name":"second"}, {"id":3, "name":"third"}]}'::json))
select json_array_elements(my_json->'records')->>'id' from c;
 ?column?
----------
 1
 2
 3
(3 rows)