MySQL之根据经纬度查询多少公里范围内的数据

  • 根据经纬度查询多少公里范围内的数据
    • 创建地址表,存储经纬度信息
    • 插入数据
    • 根据当前经纬度查询所有地址,按距离由近到远排序
    • 查询结果(距离以km为单位)

根据经纬度查询多少公里范围内的数据

可根据实际业务逻辑去套用该方法

创建地址表,存储经纬度信息

//创建地址表,存储位置信息
CREATE TABLE `address` (`longitude` varchar(255) DEFAULT NULL COMMENT '经度',`latitude` varchar(255) DEFAULT NULL COMMENT '纬度'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

INSERT INTO `test`.`address` (`longitude`, `latitude`) VALUES ('104.56589098034763', '28.99800125997524'),('104.05569373538', '30.562135496625'),('104.05869091152', '30.553040797531'),('104.13420930748', '30.665243528999'),('104.12867010329', '30.662528026621'),('104.04138950641', '30.513198045111'),('104.17470773022', '30.804769965679'),('104.04550959085', '30.531267527914'),('104.02694043085', '30.715366348472'),('103.97637771606', '30.68450999144'),('103.64457672727', '30.784181779703'),('104.04560400202', '30.531092341214'),('106.49030637454', '29.535946896717'),('104.08742448397', '30.680228365291'),('104.04794645727', '30.531973850008'),('106.56791030671', '29.557989036859'),('104.05338436547', '30.564006578701'),('104.02703686796', '30.729158155012'),('104.08646754473', '30.689490451485'),('104.1900486191', '30.583207989051'),('104.27089976383', '30.647392212029'),('106.43459219431', '29.553529003531'),('104.05390189852', '30.601960986681'),('104.01068560379', '30.710372251791'),('106.61270851307', '26.651207071474'),('104.71460234384', '28.685603980002'),('104.07871813555', '30.652789043723'),('104.0456659613715', '30.60152750651042'),('107.0494192165799', '33.06417317708333'),('106.6701207139757', '26.60911675347222'),('104.0254877387153', '30.7549755859375'),('104.059095', '30.676088'),('107.102656', '31.792046'),('104.06058', '30.649039'),('104.49597', '31.318481'),('103.9858797200521', '30.56755181206597'),('108.824202202691', '30.26600151909722'),('105.1634727647569', '31.62689832899305'),('106.486002061632', '29.5526744249132'),('106.6154720052083', '26.66232286241319'),('104.0255767144097', '30.62420627170139'),('106.4696183268229', '29.43423936631945'),('104.0404334852431', '30.68428927951389'),('105.8924037000868', '34.5719935438368'),('103.7285785590278', '30.58210611979167'),('104.0254996744792', '30.75497965494792'),('104.4114819335937', '29.69346788194444'),('106.5720852322049', '29.52876763237847'),('104.0061404079861', '30.62421685112847'),('106.6133222113715', '29.65951144748264'),('106.6719240993924', '26.55035183376736'),('104.0461447482639', '30.52714274088542'),('106.4714493815104', '29.4492076280382'),('104.0870776367187', '30.63785373263889'),('104.0721408420139', '30.62553683810764'),('103.8255387369792', '30.92856499565972'),('106.4056217447917', '27.79358642578125'),('103.9841859266493', '30.63812771267361'),('105.6231499565972', '28.86593994140625'),('103.7447246636285', '29.56069607204861'),('104.6236545138889', '30.07939181857639'),('106.279944390191', '29.96944634331597'),('104.1875244140625', '30.85933159722222'),('108.3942168511285', '31.170830078125'),('106.9167198350694', '27.66800971137153'),('103.9859627278646', '30.62867757161458'),('105.1614154730903', '31.616787109375'),('106.8272151692708', '32.34679578993055'),('104.2351565212674', '31.32266927083333'),('104.737516547309', '31.77503743489583'),('103.9776860894097', '30.64578260633681');

根据当前经纬度查询所有地址,按距离由近到远排序

SELECT *,(6371 * acos (cos ( radians('30.4138') )* cos( radians(latitude) )* cos( radians(longitude) - radians('104.234') )+ sin ( radians('30.4138') )* sin( radians(latitude) ))) AS distance
FROM address
GROUP BY distance

查询结果(距离以km为单位)

MySQL之根据经纬度查询多少公里范围内的数据相关推荐

  1. Mysql实现根据经纬度查询周围的商家,并按距离进行排序

    今天要说的是如何在Mysql中实现根据已知的经纬度查询周围的商家(或者是别的带有经纬度字段的表)并且根据距离的远近来进行排序! 废话就不多说了,直奔主题~ 首先有这么个商城表 lng代表经度,lat代 ...

  2. mysql根据用户经纬度查询附近商家_mysql实现通过经纬度查询到店铺的距离

    shop 表结构 CREATE TABLE `shop` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SE ...

  3. MySql根据经纬度查询任意距离范围内数据

    sql代码#当前位置经纬度 经度:117.215637 纬度:39.1373367 #表中经纬度字段 经度:longitude 纬度:latitude select * from( SELECT id ...

  4. mysql 有一组经纬度 返回在某个区域内_Qt编写地图综合应用17-地址经纬度互转

    ## 一.前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐 ...

  5. 使用MySql数据库出现汉字查询条件时无法查出对应数据

    编写学生信息管理系统时遇到一个问题,在查询条件输入框内输入汉字点击查询按钮后无法查询到对应的数据: 原因: 在mysql数据库中编码默认不是UTF-8,而后端一般使用UTF-8的编码进行查询,所以编码 ...

  6. mysql条件查询-查询在某个范围内的数据

    1.查询在工资为10000的员工信息 mysql> select * from t_employee; +----+--------+------------+--------+-----+ | ...

  7. MySql 如何查询某一天内的数据

    比如要查询2016-08-06这天的数据,可使用如下sql语句: (1)方法一 select * from tableName where '2016-08-06' >DATE_SUB(Crea ...

  8. 查询某一天内所有数据(SQL)

    条件 入参:"2022-02-23" (String类型) 数据库表时间:2022-02-23 15:32:42 (datetime) 思路:将数据库表的时间格式化为:年-月-日, ...

  9. 【Mysql】 获取表中一段时间范围内的数据

    时间的获取 NOW() CURDATE() CURTIME() 2021-08-23 13:37:46 2021-08-23 13:38:48 DATE_SUB() 获取当前日期前一天 获取当前日期的 ...

最新文章

  1. python动态数组的最大值_python实现动态数组的示例代码
  2. 增加DIA进程的方法
  3. libxml -- 解析 XML 文档
  4. Ubuntu14.04-LAMP环境搭建
  5. Bootloader之uBoot简介(转)
  6. erp 维护费 要交吗_erp系统每年都要缴费吗
  7. C++多线程快速入门(一):基本常用操作
  8. 互联网晚报 | 4月14日 星期四 | 山东六地银行下调房贷利率;​茅台一瓶降1000元;康师傅回应老坛酸菜面重新上架;...
  9. 【JVM】第1篇:JVM内存模型
  10. mysql 中文 phpmyadmin_mysql中文乱码问题,phpmyadmin操作解决方法
  11. 吴恩达机器学习作业(1)
  12. 详细图解哈夫曼Huffman编码树
  13. 【语音处理】基于matlab GUI声音信号频谱分析仪【含Matlab源码 325期】
  14. Elasticsearch搜索引擎安装使用及Java中使用
  15. 东莞:“风暴眼”中的世界工厂
  16. win7远程桌面连接 简易教程
  17. 无锡python培训班,无锡Python+人工智能培训
  18. 移动端适配 postcss-pxtorem插件使用
  19. spring cloud--微服务
  20. 设计一个长方体类Cuboid(Java)

热门文章

  1. Proteus 的安装以及一个51程序设计和仿真
  2. 仓库erp系统的使用
  3. 想学音乐不难!人工智能让音乐更简单但有可能成为音乐家吗?
  4. 服务器怎么远程连接控制
  5. android平分布局的隐藏,Android布局 平分界面
  6. 物联网技术已经渗透各个行业
  7. python36.lib如何区分release debug_从sou安装python3.6.3后lsb_release不工作
  8. 安全防御 --- SSL VPN
  9. 华为云会议到底能做什么?一张图让你了解华为云会议!
  10. UMeditor,简称UM 添加缩进功能