mysql - 在具有两个变量的数据库中查找最接近的数字匹配

标签 mysql sql geolocation

我正在尝试查找距离用户最近的地点。

<强>1。提供的信息

我获得了用户纬度和经度值。该值代表用户位置。

Lat = user latitude. **Example: 31.728453**
Lon = user longitude. **Example: 37.53922**

**Database Example**
Place name  | Lat      | Lon
Pizza place | 31.23232 | 36.94933
Candy shop  | 2.4943   | -232.3393
Bakery      | 40.32932 | 25.34343

<强>2。寻找最接近的记录 - 问题

我试图弄清楚如何使用上面提供的信息(纬度和经度值)查询以检索用户附近最近的位置。 对于上面的示例,最近的地点将是“Pizza Place”,因为它是距用户位置最近的地点。 我正在使用 SQL 和 PHP,我想不出一个解决方案来获取距离用户最近的前 5 个位置。希望您能帮助我,提前致谢。

最佳答案

Sql 式:

select the 5 first places
from your database 
ordered by ascending distance to the current location

关于mysql - 在具有两个变量的数据库中查找最接近的数字匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31607136/

相关文章:

google-chrome - 网络位置提供商位于 'https://www.googleapis.com/' : Returned error code 403 in Webapp

mysql - Rails 事件记录的选择和组有什么区别?

java - 位图图像不显示

sql - TSQL 生成 5 个字符长度的字符串,数据库中不存在的所有数字 [0-9]

mysql 回退 WHERE 语句

sql - 对单个表中具有不同状态代码的记录进行计数

google-chrome - navigator.geolocation getCurrentPosition 未在 Chrome Mobile 中更新

php - 使用 Zend_Db 进行读/写分割

mysql - SQL,通过 ALTER TABLE in 1 Statement 添加作为外键的列

android - 获取路段或街道Android的最大速度限制