You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL距离计算公式中获取并使用表中的经纬度变量

解决SQL经纬度距离计算的变量替换问题

核心替换逻辑

直接对应公式里的占位符替换成你自己的数据即可:

  • $lat/$long:你要作为基准的目标经纬度(比如想找离某个城市10公里内的区域,就填这个城市的经纬度)
  • LatOnTable/LongOnTable:你数据表中存储每个区域经纬度的字段名(从你的表结构截图来看,替换成表中实际的纬度、经度字段,比如lat和lng)
  • yourTable:替换成你的数据表名称

示例SQL(适配你的表结构)

假设你的表叫regions,纬度字段是latitude,经度字段是longitude,要找离「北纬39.9042,东经116.4074」50公里内的区域,SQL代码如下:

SELECT *, 
       (6371 * 2 * ASIN(SQRT( POWER(SIN((39.9042 - latitude) * pi()/180 / 2), 2) + 
                             COS(39.9042 * pi()/180) * COS(latitude * pi()/180) * 
                             POWER(SIN((116.4074 - longitude) * pi()/180 / 2), 2) ))) AS distance
FROM regions
HAVING distance <= 50
ORDER BY distance ASC;

关键调整说明

  1. 单位切换:如果要算英里,把公式里的6371(地球半径公里数)换成3956(地球半径英里数),同时调整HAVING里的距离阈值(比如<=10就是10英里)
  2. 字段匹配:确保latitude和longitude完全对应你表中的字段名,避免拼写错误
  3. 基准点修改:把39.9042和116.4074换成你实际要查询的基准经纬度

内容的提问来源于stack exchange,提问作者NoIdeaWhatImDoing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:55:21