首页 > 数据库 >MySQL根据经纬度和距离查询最近的数据

MySQL根据经纬度和距离查询最近的数据

时间:2023-02-27 17:56:01浏览次数:31  
标签:distance 经纬度 lon 查询 180 MySQL lat PI

[lat]:输入的纬度 [lon]:输入的经度 [distance]:查询距离内的数据,单位m
SELECT
    *
FROM
    (
        SELECT
            id
            lon,
            lat,
            vin,
            ROUND(
                6378.138 * 2 * ASIN(
                    SQRT(
                        POW(
                            SIN(
                                (
                                    [lat] * PI() / 180 - lat* PI() / 180
                                ) / 2
                            ),
                            2
                        ) + COS([lat] * PI() / 180) * COS(lat* PI() / 180) * POW(
                            SIN(
                                (
                                    [lon] * PI() / 180 - lon* PI() / 180
                                ) / 2
                            ),
                            2
                        )
                    )
                ) * 1000
            ) AS distance
        FROM
            tableName
    ) AS a
WHERE
    a.distance < [distance]
ORDER BY
    a.distance

 

修改中括号"[]"处参数即可

 

标签:distance,经纬度,lon,查询,180,MySQL,lat,PI
From: https://www.cnblogs.com/lockyluo/p/17161190.html

相关文章

  • 五十条常用的MySQL语句
    1、查询“001”课程比“002”课程成绩高的所有学生的学号;selecta.S#from(selects#,scorefromSCwhereC#='001')a,(selects#,scorefromSCwhereC#='002')bwhe......
  • mysql 5.7安装方法
    下载好包解压后按下列顺序执行1.给bin目录添加到环境变量,前提:关闭所有cmd窗口2.将mysql添加到系统服务中 方法:鼠标右键任务栏选择服务方法2:cmd输入services.ms......
  • MySQL联合索引的创建规则
    1、索引应该按照最常用于查询的列的顺序创建。这样可以最大程度地提高查询性能。2、如果查询中包含的列与索引中的列顺序不一致,则无法使用索引。因此,如果您有多个查询,每个......
  • db2 模糊查询
    今天在书写接口的时候遇到一个问题,查询接口需要模糊查询,我在百度上搜索mybatils的模糊查询不行,最后发现,mysql的模糊查询concat方法和db2的不一样。然后就找到领一种方法,使......
  • SQL SERVER 生僻字查询问题和关键字COLLATE
       先说问题,生僻字查询的问题,有的时候我们的数据里包含一些生僻字,在查询用Like模糊匹配的时候,发现有的查询不准确,测试数据如下:1--测试数据2ifnotobject_id(N'......
  • mysql分布式架构测试
    mysql分布式架构测试目录机器准备mysqlcluster介绍下载安装包通用节点执行项安装管理节点安装数据节点配置安装sql节点查看集群状态sql节点插入数据备份测试......
  • 本地虚拟机centos7通过docker安装主从mysql5.7.21
    1、下载mysql镜像dockerpullmysql:5.7.212、在home下建立mydata目录在/home/mydata/mysql下面建立两个目录conf与data3、docker运行起来两个服务器的服务dockerrun-p3......
  • ELK kibana查询与过滤
    在kibana中,可通过搜索查询过滤事务或者在visualization界面点击元素过滤。创建查询在Discover界面的搜索栏输入要查询的字段。查询语法是基于Lucene的查询语法。允许布尔......
  • mybatis-关联查询3-自关联查询
      一对多的方式处理查询指定栏目的所有子孙栏目    查询指定栏目及其所有子孙栏目 多对 一的方式处理   ......
  • maven工程运行环境修改与maven的java工程取mysql数据库数据
    maven工程运行环境修改在pom.xml添加tomcat7插件</plugin><plugin><groupId>org.apache.tomcat.maven</groupId>......