我正在try 在PostgresSQL中查询arrays中的array_agg个特定元素.
以下是当前代码:
with t as (
select
influence_region_id,
ir.city_id,
array[c2.lat, c2.lng] as center_latlng,
array_agg(array[c.lat, c.lng] order by "index") as path
from influence_regions_coordinates irc
join coordinates c
on c.id = irc.coordinate_id
join influence_regions ir
on ir.id = irc.influence_region_id
join coordinates c2
on c2.id = ir.center
group by influence_region_id, ir.city_id, center_latlng
)
select * from t;
这将产生:
由于center_latlng
是一个简单的数组,我可以使用以下方法访问它:
select influence_region_id, center_latlng[1] from t;
然而,如果我try 同样的path
,也就是arrays的array_agg,我总是得到NULL
select influence_region_id, path[1] from t;
我试着用了path[1.1]
,unnest(path)
,但都没有用.
#
因为它是数组的数组,所以我希望做path[1]
并得到另一个数组作为结果,例如[-30.45555,56.77888]
谢谢