Я пытаюсь выбрать 5 ближайших мест на основе местоположения, найденного в главном списке.Пока что я это сделал.
SELECT p.*,
ST_AsGeoJSON(p.coordinate) as coordiantes,
(
SELECT json_agg(op.id) AS otherplaces
FROM places op
GROUP BY op.coordinate, op.id
ORDER BY coordinate <-> st_geogfromwkb(p.coordinate)
LIMIT 5
) AS other
FROM places p
WHERE id = 1
Как видите, я хотел бы получить значение вызова other , где будет массив результата (id, name) для подвыбора.
Но теперь я получил ошибку.«op.coordiante» должен присутствовать в группе по .Когда я добавил это выражение, я получил другую ошибку.«Больше, чем возврат одной строки в подвыбор».
Так как это сделать правильно?
Спасибо