当前位置: 首页 > article >正文

mysql5.6根据经纬度查询距离

在MySQL 5.6中,您可以使用Haversine公式来根据经纬度查询距离。以下是一个示例SQL查询,它计算出所有点与给定点(经度lon和纬度lat)的距离,并按距离排序:

SELECT id, (
    6371 * acos(
        cos(radians(:lat)) *
        cos(radians(lat)) *
        cos(radians(lon) - radians(:lon)) +
        sin(radians(:lat)) *
        sin(radians(lat))
    )
) AS distance
FROM your_table
ORDER BY distance ASC;

在这个查询中,your_table是包含经纬度数据的表格,id是表格中的一个字段,latlon是表格中存储纬度和经度的字段。:lat:lon是查询时传入的参数,即你想要计算距离的那个点的经度和纬度。

6371是地球半径(单位为公里),radians函数将度转换为弧度。acos函数计算两点间的角度,公式实现了距离的计算。

请确保将your_tableidlatlon替换为您数据库中实际的表名和字段名。


http://www.kler.cn/a/294496.html

相关文章:

  • 搭建监控系统Prometheus + Grafana
  • srs http-flv处理过程
  • 速盾:游戏盾的功能和原理详解
  • vite构建的react程序放置图片
  • vue之子组件向父组件传值
  • 2024 CCPC Liaoning Provincial Contest
  • 亚马逊测评深度解析:如何安全高效提升产品销量和好评
  • HTB-Pennyworth(cve查询 和 exp使用)
  • 《征服数据结构》差分数组
  • 【K8S实践笔记】Kubernetes Dashboard v2.7.0 的安装与配置(2)
  • 【Windows】【C++】【Udp】 udp通信协议详解和示例
  • 力扣 797. 所有可能路径【DFS】
  • 尚品汇-商品上下架完善(更新ES)、延迟消息(四十四)
  • CSDN文章无水印转成PDF
  • 【数据结构入门】排序算法之交换排序与归并排序
  • UE5.3_跟一个插件—Socket.IO Client
  • 【爬虫软件】小红薯评论区采集工具
  • 目标检测-RT-DETR
  • 抖音发布Unity小游戏的errorMsg: native build failed
  • 【人工智能学习笔记】1_人工智能基础
  • 【redis】数据量庞大时的应对策略
  • 从源码角度分析 Kotlin by lazy 的实现
  • 固态硬盘装系统有必要分区吗?
  • 前端安全:如何防范跨站脚本攻击(XSS)
  • 【时时三省】c语言例题----华为机试题<等差数列>。
  • 日志系统前置知识