按特定纬度/经度的接近程度排序表(使用MySQL+PHP)

按特定纬度/经度的接近程度排序表(使用MySQL+PHP),php,mysql,sql-order-by,latitude-longitude,proximity,Php,Mysql,Sql Order By,Latitude Longitude,Proximity,MySQL表 id | url | lat | lng ---------------------------------- 1 | x | 44.339565 | -101.337891 ---------------------------------- 2 | y | 44.150681 | -101.074219 ---------------------------------- 3 | z | 43.897892 | -100.634766 我现

MySQL表

id | url |    lat    |    lng
----------------------------------
1  |  x  | 44.339565 | -101.337891
----------------------------------
2  |  y  | 44.150681 | -101.074219
----------------------------------
3  |  z  | 43.897892 | -100.634766
我现在要做的是根据它们与43.834527,-99.140625的接近程度对列表进行排序

$a = mysql_query("SELECT * FROM table ORDER BY proximity DESC");
while($b = mysql_fetch_assoc($a))
{
echo $b['url'].'<br />';
}

您可能有兴趣查看以下演示文稿:

由 作者介绍了如何使用MySQL中的按邻近性排序并将搜索限制在定义的范围内。他还介绍了如何使用纬度和经度列上的传统索引避免对此类查询进行全表扫描

一,