У нас есть пункт недвижимости X.
Мы хотим рассчитать количество станций в пределах
0-200 m
200-400 m
400-600 m
После того, как я получу это, я позже создам новую таблицу, где они суммируются в соответствии с математическими выражениями.
SELECT loc_dist.id, loc_dist.namn1, grps.grp, count(*)
FROM (
SELECT b.id, b.namn1, ST_Distance_Sphere(b.geom, s.geom) AS dist
FROM stations s, bostader b) AS loc_dist
JOIN (
VALUES (1,200.), (2,400.), (3,600.)
) AS grps(grp, dist) ON loc_dist.dist < grps.dist
GROUP BY 1,2,3
ORDER BY 1,2,3;
У меня есть это сейчас, но для запуска требуется вечность, и я не могу получить никаких результатов, так как у меня более 2000 записей от b и s, я хочу количество s из определенного b. Но это рассчитывает для всех, как мне добавить:
WHERE b.id= 114477
например? Я получаю только синтаксическую ошибку при соединении, когда пытаюсь это сделать, я хочу, чтобы групповые расстояния были только от одного или, возможно, от 5 разных b, в зависимости от их b.id