У меня есть таблица, в которой я храню журналы местоположений всех пользователей, откуда мне нужно получить последнее местоположение всех пользователей и отсортировать его по расстоянию от указанной геометрической точки.
Таблица местоположений
Результат должен быть
Затем мне нужно отсортировать пользователей, которые находятся ближе всего к указанной точке. Я понял, как использовать функцию MySQL Spatial, чтобы получить расстояние, но не могу отсортировать результат выше. Я сослался на это для получения последнего местоположения и это из другого ответа на переполнение стека, но мне было трудно использовать оба вместе.
Я ценю любую помощь и спасибо заранее
Извините, у меня в принципе ничего нет. Я сделал прицел, но не мог понять, как с ним работать pastebin.com/DmQU76ps. Спасибо!






WITH cte AS ( SELECT source_table.*,
ROW_NUMBER() OVER (PARTITION BY source_table.user_id
ORDER BY source_table.time DESC) rn
FROM source_table )
SELECT cte.*
FROM cte
WHERE cte.rn = 1
ORDER BY ST_Distance(cte.location, @specified_point)
Спасибо, сэр, за ответ. Мне нужно время, чтобы обработать это самостоятельно.
Так покажи нам, что у тебя есть