首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >get user by radians的sql语句逻辑是什么

get user by radians的sql语句逻辑是什么
EN

Stack Overflow用户
提问于 2012-12-10 14:20:46
回答 2查看 72关注 0票数 0

请帮助我,我不明白这个查询中的3959是什么,以及这个查询的逻辑是什么。

代码语言:javascript
复制
$sql = 'SELECT `Zip`, `City`, `State`, `Lat`, `Long`, 
( 3959 * acos( cos( radians("%s") ) * cos( radians( `Lat` ) ) * cos( radians( `Long` ) -    
radians("%s") ) + sin( radians("%s") ) * sin( radians( `Lat` ) ) ) ) AS distance 
FROM Zips 
HAVING distance < "%s"
ORDER BY distance LIMIT 0 , 2';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-10 14:28:08

此逻辑是使用经度和纬度查找位置,请参阅Finding Locations with MySQL

上面的逻辑使用Haversine Formula来查找球体内的位置

票数 1
EN

Stack Overflow用户

发布于 2012-12-10 14:28:27

3959是以英里为单位的地球半径。该查询计算表中输入的经度和纬度与经度和纬度之间的距离(以英里为单位),并选择最接近的点。没有那么多的逻辑,这是纯粹的数学。由于距离本身不是输出,您甚至可以省略3959的乘法,仍然可以得到相同的结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13795963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档