You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

mysql经纬度距离排序

MySQL经纬度距离排序是一个非常常用的需求,尤其是在定位相关的应用场景中。本文将介绍如何通过MySQL函数来实现经纬度距离计算及排序,并且提供代码示例。

一、经纬度距离计算

经纬度距离计算是指根据两个地理位置的经纬度坐标,计算出它们之间的距离。通常使用的计算公式是Haversine公式,公式如下:

$$ a = \sin^{2}(\frac{lat_{2}-lat_{1}}{2})+\cos(lat_{1})\cos(lat_{2})\sin^{2}(\frac{lon_{2}-lon_{1}}{2}) $$

$$ c = 2 \times \arctan2(\sqrt{a},\sqrt{1-a}) $$

$$ d = R \times c $$

其中,$lat_{1}$,$lat_{2}$,$lon_{1}$,$lon_{2}$分别代表两个点的纬度和经度,$R$是地球半径,$d$是两个点之间的距离。这里的经纬度是用角度表示的。

MySQL中提供了自带的函数计算经纬度距离,语法如下:

SELECT ST_DISTANCE_SPHERE(point1, point2) AS distance FROM table_name;

其中,point1和point2分别是两个点的经纬度坐标,单位为角度,distance为两个点之间的距离,单位为米。

二、经纬度距离排序

想要将经纬度距离排序需要先计算出每个点与目标点的距离,然后按照距离从近到远的顺序进行排序。具体步骤如下:

  1. 获取目标点的经纬度坐标

假设要查找周围距离某个点在1000米以内的位置,需要指定目标点的经纬度坐标。可以通过以下代码获取目标点的经纬度坐标。

SET @longitude = 116.397458;
SET @latitude = 39.909715;
  1. 计算每个点与目标点的距离

使用MySQL

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
基于云平台的即开即用、稳定可靠、灵活弹性、易于使用的关系型数据库服务

社区干货

表设计之数据类型优化 | 社区征文

因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。比如应该使用 MySQL 内建的类型而不是字符串来存储日期和时间。### 2.3 避免 NULL很多表都包含可为 NULL(空值)的列,即使应用程序并不需要保存 NULL 也是如此,这是因为可为 NULL 是列的默认属性。通常情况下最好指定列为 NOT NULL,除非真的需要存储 NULL 值。 比如在实体中给默认值:![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2f5961962...

精选文章|MySQL深分页优化

**MySQL深分页优化**![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/1499ce77b4ea4b91b806bfab2774e01f~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=17144... 没有排序**![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/21612318237442e6a0a3dcd559a326a9~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=17144076...

MySQL 内存相关参数说明

# 前言内存指标是 RDS for MySQL 最重要的指标之一,不合理的参数配置,待优化的 SQL 可能导致内存利用率持续升高,严重时会导致实例 OOM,进而导致主从切换。本文从参数的角度分析 MySQL 内存的组成部分。# sessio... 用来存储排序的中间结果。在排序过程中,如果存储量大于 sort_buffer_size,则会在磁盘生成临时表以完成操作。6. **tmp_table_size**:该参数用于指定使用临时内存表的大小,如果连接创建的临时表超过此限制,会转化为...

干货|从MySQL到ByteHouse,抖音精准推荐存储架构重构解读

底层存储架构从MySQL到ByteHouse的重构,将抖音精准推荐的查询效率平均提升了近百倍。**点击阅读原文可下载《云原生数据仓库ByteHouse技术白皮书》。** ![picture.image](https://p3-volc-community-sign.... 以满足复杂条件多维度的筛选排序功能。 ![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/3654dc7a9c8d407bad7894f97069d1ee~tplv-tlddhu82om-image.image?=&rk3s=8031c...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

mysql经纬度距离排序-优选内容

表设计之数据类型优化 | 社区征文
因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。比如应该使用 MySQL 内建的类型而不是字符串来存储日期和时间。### 2.3 避免 NULL很多表都包含可为 NULL(空值)的列,即使应用程序并不需要保存 NULL 也是如此,这是因为可为 NULL 是列的默认属性。通常情况下最好指定列为 NOT NULL,除非真的需要存储 NULL 值。 比如在实体中给默认值:![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2f5961962...
精选文章|MySQL深分页优化
**MySQL深分页优化**![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/1499ce77b4ea4b91b806bfab2774e01f~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=17144... 没有排序**![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/21612318237442e6a0a3dcd559a326a9~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=17144076...
DescribeSlowLogs
调用 DescribeSlowLogs 接口查询慢日志信息。 请求类型同步请求。 请求参数参数 类型 是否必选 示例值 描述 RegionId string 是 cn-beijing 地域 ID。 InstanceId string 是 mysql-71dffd****** 实例 ID。 说明... SortBy String 否 ASC 按照降序或升序方式排列慢日志。取值如下: ASC:表示升序。默认值。 DESC:表示降序。 OrderBy String 否 Timestamp 返回结果的排序方法,取值如下: Timestamp:按照查询开始时间排序...
MySQL 内存相关参数说明
# 前言内存指标是 RDS for MySQL 最重要的指标之一,不合理的参数配置,待优化的 SQL 可能导致内存利用率持续升高,严重时会导致实例 OOM,进而导致主从切换。本文从参数的角度分析 MySQL 内存的组成部分。# sessio... 用来存储排序的中间结果。在排序过程中,如果存储量大于 sort_buffer_size,则会在磁盘生成临时表以完成操作。6. **tmp_table_size**:该参数用于指定使用临时内存表的大小,如果连接创建的临时表超过此限制,会转化为...

mysql经纬度距离排序-相关内容

干货|从MySQL到ByteHouse,抖音精准推荐存储架构重构解读

底层存储架构从MySQL到ByteHouse的重构,将抖音精准推荐的查询效率平均提升了近百倍。**点击阅读原文可下载《云原生数据仓库ByteHouse技术白皮书》。** ![picture.image](https://p3-volc-community-sign.... 以满足复杂条件多维度的筛选排序功能。 ![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/3654dc7a9c8d407bad7894f97069d1ee~tplv-tlddhu82om-image.image?=&rk3s=8031c...

签名机制

云数据库 MySQL 版服务会对每个访问的请求进行身份验证,因此您需要在请求中包含签名信息。本文介绍云数据库 MySQL 版的 API 签名机制。 创建一个正规化请求说明 Hash 代指 SHA256 算法 HexEncode 代指转 16 进制编... 将排序好的参数名称和参数值用(=)连接,按照排序结果将参数对用(&)连接。 CanonicalHeaders指代正规化后的 Header 。其中伪代码如下: CanonicalHeaders =CanonicalHeadersEntry0 +CanonicalHeadersEntry1 + ... +...

签名机制

云数据库 MySQL 版服务会对每个访问的请求进行身份验证,因此您需要在请求中包含签名信息。本文介绍云数据库 MySQL 版的 API 签名机制。 创建一个正规化请求说明 Hash 代指 SHA256 算法 HexEncode 代指转 16 进制编... 将排序好的参数名称和参数值用(=)连接,按照排序结果将参数对用(&)连接。 CanonicalHeaders指代正规化后的 Header 。其中伪代码如下: CanonicalHeaders =CanonicalHeadersEntry0 +CanonicalHeadersEntry1 + ... +...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

如何查看 MySQL Table Character Set and Collation

# 问题描述MySQL在数据库启动和创建Database的时候都都可以指定Character和Collation,在MySQL创建Table的时候是如何继承Character和Collation的属性的?# 问题分析查看MySQL创建Table的DDL语句中没有显示指定Collation,这时需要我们查看MySQL的配置文件和INFORMATION_SCHEMA CHARACTER_SETS表进行判断。# 解决方案:MySQL通过以下方式选择表字符集和排序规则* 如果创建表的时候显示指定了CHARACTER SET和COLLATE,就会使用显...

如何查看 MySQL Table Character Set and Collation

# 问题描述MySQL在数据库启动和创建Database的时候都都可以指定Character和Collation,在MySQL创建Table的时候是如何继承Character和Collation的属性的?# 问题分析查看MySQL创建Table的DDL语句中没有显示指定Collation,这时需要我们查看MySQL的配置文件和INFORMATION_SCHEMA CHARACTER_SETS表进行判断。# 解决方案:MySQL通过以下方式选择表字符集和排序规则* 如果创建表的时候显示指定了CHARACTER SET和COLLATE,就会...

签名机制

云数据库 veDB MySQL 版服务会对每个访问的请求进行身份验证,因此您需要在请求中包含签名信息。本文介绍云数据库 veDB MySQL 版的 API 签名机制。 创建一个正规化请求说明 Hash 代指 SHA256 算法。 HexEncode 代指... 将排序好的参数名称和参数值用 = 连接,按照排序结果将参数对用 & 连接。 CanonicalHeaders 指代正规化后的 Header。其中伪代码如下: CanonicalHeaders =CanonicalHeadersEntry0 +CanonicalHeadersEntry1 + ... +...

如何排查 RDS for MySQL 内存占用问题

# 问题描述我的 RDS for MySQL 实例内存持续走低,我该如何排查 MySQL 内存占用问题?# 问题分析MySQL 内存分为两部分,全局内存和线程级内存[1]:- 独享内存参数的配置:关联 **join_buffer_size**,,线程栈 **thread_stack**,随机读 **read_rnd_buffer_size**,排序 **sort_buffer_size**,顺序读 **read_buffer_size**,客户端结果集暂存 **net_buffer_length**,二进制日志 **binlog_cache_size**,插入缓存 **bulk_insert_buf...

数据库管理

创建数据库登录云数据库 veDB MySQL 版数据交互台。 在数据交互台页面的可视化操作区域,单击information_schema后的图标。 单击创建数据库。 在创建数据库对话框,配置以下参数。 参数 说明 数据库名 自定义数... 当前支持以下几种字符集: utf8 latin1 utf8mb4 ascii 排序规则 当您选择字符集后,默认会显示排序规则,如有其他需求可按需配置。 单击确定。 编辑数据库说明 不支持编辑系统库。 登录云数据库 veDB MySQL 版...

如何排查RDS for MySQL 内存占用问题

# 问题描述我的 RDS for MySQL 实例内存持续走低,我该如何排查 MySQL 内存占用问题?# 问题分析MySQL 内存分为两部分,全局内存和线程级内存[1]:* 独享内存参数的配置:关联 **join_buffer_size**,,线程栈 **thread_stack**,随机读 **read_rnd_buffer_size**,排序 **sort_buffer_size**,顺序读 **read_buffer_size**,客户端结果集暂存 **net_buffer_length**,二进制日志 **binlog_cache_size**,插入缓存 **bulk_insert_buffer_...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

数据智能知识图谱
火山引擎数智化平台基于字节跳动数据平台,历时9年,基于多元、丰富场景下的数智实战经验打造而成
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询