首页 > 数据库 >mysql根据经纬度计算距离

mysql根据经纬度计算距离

时间:2024-05-17 17:56:19浏览次数:23  
标签:DISTANCE target 经纬度 POINT longitude ST 距离 mysql latitude

一、使用地理空间函数ST_DISTANCE:MySQL提供了一组地理空间函数,可以更方便地处理地理数据。使用这些函数,你可以计算点之间的距离、获取最近的点等等。下面是一个示例查询,展示如何使用地理空间函数计算经纬度距离单位(百千米):
代码示例:
-- 单位百公里
SELECT
id,
latitude,
longitude,
ST_DISTANCE(
POINT(target_longitude, target_latitude),
POINT(longitude, latitude)
) AS distance
FROM
your_table
ORDER BY
distance;
二、使用地理空间函数ST_DISTANCE_SPHERE单位(米)。
代码示例:

-- 单位米
SELECT
id,
latitude,
longitude,
ST_DISTANCE_SPHERE(
POINT(target_longitude, target_latitude),
POINT(longitude, latitude)
) AS distance
FROM
your_table
ORDER BY
distance;
三、如果需要保留小数可以使用ROUND函数round(x,n) -- 四舍五入去整,n为保留几位小数。
代码示例:

-- 计算两个经纬度之间的距离 单位米
SELECT
id,
longitude,
latitude,
target_longitude,
target_latitude,ROUND(ST_DISTANCE_SPHERE (
POINT ( longitude, latitude ),
POINT ( target_longitude, target_latitude )) ,2)
AS distance
FROM
your_table
ORDER BY
distance;
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Gmh515/article/details/132471059

标签:DISTANCE,target,经纬度,POINT,longitude,ST,距离,mysql,latitude
From: https://www.cnblogs.com/fswhq/p/18197814

相关文章

  • Redis MySQL
     ---###介绍一下常用的RedisMySQL中间件呗Redis和MySQL在许多应用中经常一起使用,Redis作为缓存层提供快速的数据访问,而MySQL作为存储层提供持久化的数据存储。在这两个系统之间,中间件可以帮助管理和优化它们之间的交互。以下是一些常用的Redis和MySQL中间件:1.**ProxySQL*......
  • 【MySQL】时区修改
    背景实际时间和MySQL时间对不上执行:1showvariableslike"%time_zone%";发现时区是SYSTEM解决方案需要改成+8执行:1setglobaltime_zone='+8:00';2settime_zone='+8:00';此时再查看time_zone,显示↓ 再执行确认与北京时间(东八区标准时)是否一致1selec......
  • 数据库(MySQL)基础
    时间:2024-05-11星期六mysql基础mysql基础学习内容MySQL数据库安装与配置、SQL基本查询、SQL写入操作、MySQL表操作、SQL高级查询、MySQL基本函数数据库分类主流关系型数据库商用数据库:DB2、Oracle开源免费数据库:MySQL、SQLServer(微软开发的,主要用于windows系统,现在也支持......
  • Mysql之性能查看
    一、慢查询MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的SQL语句。mysql>showvariableslike‘%slow%‘;+-......
  • 字节面试:MySQL什么时候 锁表?如何防止锁表?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 第四节:MySQL主从集群搭建、扩容与数据迁移、半同步复制详解
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • mysql容器的定时备份脚本,有二种方法
    mysqldump[root@localhostnode]#cat/root/mysqlbeifen.sh#!/bin/bash#定义参数CONTAINER_NAME="mysql"HOST_BACKUP_DIR="/bak"REMOTE_MACHINE_IP="192.168.0.29"REMOTE_TARGET_DIR="/bak/cd"MYSQL_USER="root"M......
  • DBA(Database Administrator)数据库运维-mysql
    一、开篇1、版本选择1、企业版2、社区版MySQL社区版则是由分散在世界各地的MySQL开发者、爱好者以及用户参与开发与测试的,包括软件代码的管理、测试工作,也是他们在负责。社区也会设立BUG汇报机制,收集用户在使用过程中遇到的BUG情况,相比于企业版,社区版的开发及测试环境没有那么......
  • mysql在select ······ for update 在什么情况下加什么锁
    准备环境:select@@version;select@@autocommit;set@@autocommit=0;CREATETABLE`user_info_tab`(`id`intNOTNULLAUTO_INCREMENT,1.1.`user_name`varchar(255)DEFAULTNULL,......
  • MySql5.6 关于视图访问权限问题记录
    问题描述使用zstack或root账号访问视图view3出现[root@172-26-52-170mariadb]#mysql-uzstack-pzstack.passwordzstack-e"select*fromview3"ERROR1045(28000)atline1:Accessdeniedforuser'zstack'@'localhost'(usingpassword:YES)......