我试图将两个值与表中的值进行比较以找到最接近的值,但是每次尝试代码(见下文)时,我只会得到返回的第一行
SELECT latitude, longitude, ABS(latitude - 53.316494), ABS(longitude - -6.253541) AS distance
FROM station
ORDER BY distance
LIMIT 1;
谢谢你的帮助。
最佳答案
您的查询:
SELECT latitude, longitude, ABS(latitude - 53.316494), ABS(longitude - -6.253541)
FROM station
LIMIT 1;
但是纬度和经度上的“比较MySQL中最接近的值”意味着找到最接近的方式
应该看起来像:
SELECT latitude, longitude, ABS(latitude - 53.316494), ABS(longitude - -6.253541)
FROM station
ORDER BY (POW((latitude - 53.316494,2) + POW((longitude - -6.253541),2)) ASC
LIMIT 1;