Промених формулата за разстояние на нещо, което работи от mysql 5.7. Вие не посочихте вашата база данни или представихте пример за цигулка, за да покажете вашата система, затова избрах 5.7 като mini9mum и тя работи също и в 8.0, както виждате на цигулката.
вътрешната заявка се нуждае от две неща:потребителския идентификатор, който търси, и неговата позиция, защото той е изключен от резултатите и разбира се, за да изчисли разстоянието.
Резултатът от заявката се проверява в клаузата where – надявам се, че съм получил правилната идея, така че трябва да проверите това
db<>fiddle тук