比较MySQL中最接近的值

时间:2014-04-24 13:01:56

标签: mysql database

我试图将两个值与我的表中的值进行比较以找到最接近的值,但每次我尝试代码时(见下文)我只是返回第一行

    SELECT latitude, longitude, ABS(latitude - 53.316494), ABS(longitude - -6.253541) AS distance
    FROM station
    ORDER BY distance
    LIMIT 1;

感谢您的帮助。

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;

enter image description here