【发布时间】:2011-06-15 01:40:42
【问题描述】:
我对 MySql 还很陌生,我想要创建一个程序,我可以在其中插入任何邮政编码和一段距离,然后取回该距离内的所有邮政编码。我确实找到了一个公式并试图根据我的需要重塑它,但我无法做到。我所拥有的如下。该示例来自此处http://code.google.com/apis/maps/articles/phpsqlsearch.html。但是,我不想使用 37、-122 坐标,我想使用我推送到该过程中的任何邮政编码。如果可以的话,我会开始赏金,但我必须等待。这个问题困扰了我一整天,因此感谢您的帮助。这个让我很难过,因为我相信它使用两组纬度/经度,我只想要一个中心纬度/经度的半径
SELECT state,city,zipcode,
(3959
* acos(
cos(radians(37))
* cos(radians(x(location)))
* cos(radians(y(location)) - radians(-122))
+ sin(radians(37)) * sin(radians(x(location)))))
AS distance
FROM zipcodes
HAVING distance < 25
ORDER BY distance
LIMIT 0, 20;
【问题讨论】: