2013-07-29 35 views
0

我有這個疑問:1064 MySQL錯誤距離公式

SELECT 
    *, 
    SQRT(POW(69.1 * (latitude -) , 2) 
    + POW(69.1 * (- longitude) * COS(latitude /57.3) ,2)) AS distance 
FROM 
    properties 
HAVING 
    distance < 5 
ORDER BY 
    distance 

但是當我嘗試運行它,我得到這個錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ;

我做錯了嗎?它在MYSQL 5.0中不起作用,但它在MYSQL 5.5中正常工作。

+2

我不相信這個表達式:'(緯度 - )'是在MySQL – piokuc

回答

0

使用此:

SELECT 
    *, 
    SQRT(POW(69.1 * (latitude ) , 2) 
    + POW(69.1 * ( longitude) * COS(latitude /57.3) ,2)) AS distance 
FROM 
    properties 
HAVING 
    distance < 5 
ORDER BY 
    distance 

這應該返回結果集你想要的。
如果沒有,請告訴我。

- seekers01

+0

的任何版本有效謝謝Seekers01 –