次のSQLコードを使用して、設定された座標に最も近い「すべての」poiを見つけていますが、すべてではなく特定のpoiを見つけたいと思います。where句を使用しようとすると、エラーが発生し、機能しません。これは、すべてのpoiのすべての座標に1つのテーブルしか使用しないため、現在スタックしている場所です。
SET @orig_lat=55.4058;
SET @orig_lon=13.7907;
SET @dist=10;
SELECT
*,
3956 * 2 * ASIN(SQRT(POWER(SIN((@orig_lat -abs(latitude)) * pi()/180 / 2), 2)
+ COS(@orig_lat * pi()/180 ) * COS(abs(latitude) * pi()/180)
* POWER(SIN((@orig_lon - longitude) * pi()/180 / 2), 2) )) as distance
FROM geo_kulplex.sweden_bobo
HAVING distance < @dist
ORDER BY distance limit 10;