経度と緯度で最も近い点を見つけるために実行しようとしています。正常に機能するのは、データベースに個別の値が保存されていることですが、パイプで接続された単一の文字列があり、部分文字列インデックスで分割できます。ただし、選択クエリでこれらの関数を組み合わせようとすると、喜びが得られません。
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(longlat, '|', 1), '|', -1) as 'lat',
SUBSTRING_INDEX(SUBSTRING_INDEX(longlat, '|', 2), '|', -1) as 'lng',
title,
( 6371 * acos( cos( radians(51.527351) ) * cos( radians( 'lat') ) * cos( radians( 'lng' ) - radians(0.765544) ) + sin( radians(51.527351) ) * sin( radians( 'lat' ) ) ) ) AS distance
FROM locations HAVING distance < 500
ORDER BY distance
LIMIT 0 , 20
誰でも光を当てることができますか?