我试图将两个值与我的表中的值进行比较以找到最接近的值,但每次我尝试代码时(见下文)我只是返回第一行
SELECT latitude, longitude, ABS(latitude - 53.316494), ABS(longitude - -6.253541) AS distance
FROM station
ORDER BY distance
LIMIT 1;
感谢您的帮助。
答案 0 :(得分:0)
您的查询:
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;