我有一张table mytable
还有一个jsonb专栏 employees
包含如下数据:
[ {
"name":"Raj",
"email":"raj@gmail.com",
"age":32
},
{
"name":"Mohan",
"email":"Mohan@yahoo.com",
"age":21
}
]
我只想提取名称并以列表格式保存,因此生成的单元格如下所示:
['Raj','Mohan']
我试过了
select l1.obj ->> 'name' names
from mytable t
cross join jsonb_array_elements(t.employees) as l1(obj)
但这只返回第一个数组元素的名称。如何获取所有数组元素的名称?谢谢! PostgreSQL 11.8
1条答案
按热度按时间wlzqhblo1#
在postgres 12中,你可以使用
jsonb_path_query_array()
:在早期版本中,您需要取消通知,然后重新聚合: