我想使用距离(作为距离)参数来限制此查询的结果。我想将结果限制在距离(距离)<1的记录中。 50.我尝试了一些变体,包括使用WHERE子句(其中距离<50)和ORDER BY(距离<10),这不起作用。提前谢谢。
$query = mysql_query("SELECT *,
(((acos(sin((".$lat."*pi()/180)) * sin((`latitude`*pi()/180))
+cos((".$lat."*pi()/180)) * cos((`latitude`*pi()/180))
* cos(((".$lon."- `longitude`)*pi()/180))))*180/pi())*60*1.1515)
as distance FROM profiles WHERE id!=0 ORDER BY distance < 10 ASC");
这也不起作用
$query = mysql_query("SELECT *,
(((acos(sin((".$lat."*pi()/180)) * sin((`latitude`*pi()/180))
+cos((".$lat."*pi()/180)) * cos((`latitude`*pi()/180))
* cos(((".$lon."- `longitude`)*pi()/180))))*180/pi())*60*1.1515)
as distance FROM profiles WHERE distance < 50 ORDER BY distance ASC");
答案 0 :(得分:4)
尝试使用HAVING
子句:
$ query = mysql_query(“SELECT *,
(((acos(sin((“。$ lat。”* pi()/ 180))* sin((latitude
* pi()/ 180))
+ cos((“。$ lat。”* pi()/ 180))* cos((latitude
* pi()/ 180))
* cos(((“。$ lon。” - longitude
)* pi()/ 180))))* 180 / pi())* 60 * 1.1515)
作为距离FROM个人资料WHERE id!= 0 HAVING distance&lt; 50“);