MySQL之根据经纬度查询多少公里范围内的数据
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之根据经纬度查询多少公里范围内的数据相关推荐
- Mysql实现根据经纬度查询周围的商家,并按距离进行排序
今天要说的是如何在Mysql中实现根据已知的经纬度查询周围的商家(或者是别的带有经纬度字段的表)并且根据距离的远近来进行排序! 废话就不多说了,直奔主题~ 首先有这么个商城表 lng代表经度,lat代 ...
- mysql根据用户经纬度查询附近商家_mysql实现通过经纬度查询到店铺的距离
shop 表结构 CREATE TABLE `shop` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SE ...
- MySql根据经纬度查询任意距离范围内数据
sql代码#当前位置经纬度 经度:117.215637 纬度:39.1373367 #表中经纬度字段 经度:longitude 纬度:latitude select * from( SELECT id ...
- mysql 有一组经纬度 返回在某个区域内_Qt编写地图综合应用17-地址经纬度互转
## 一.前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐 ...
- 使用MySql数据库出现汉字查询条件时无法查出对应数据
编写学生信息管理系统时遇到一个问题,在查询条件输入框内输入汉字点击查询按钮后无法查询到对应的数据: 原因: 在mysql数据库中编码默认不是UTF-8,而后端一般使用UTF-8的编码进行查询,所以编码 ...
- mysql条件查询-查询在某个范围内的数据
1.查询在工资为10000的员工信息 mysql> select * from t_employee; +----+--------+------------+--------+-----+ | ...
- MySql 如何查询某一天内的数据
比如要查询2016-08-06这天的数据,可使用如下sql语句: (1)方法一 select * from tableName where '2016-08-06' >DATE_SUB(Crea ...
- 查询某一天内所有数据(SQL)
条件 入参:"2022-02-23" (String类型) 数据库表时间:2022-02-23 15:32:42 (datetime) 思路:将数据库表的时间格式化为:年-月-日, ...
- 【Mysql】 获取表中一段时间范围内的数据
时间的获取 NOW() CURDATE() CURTIME() 2021-08-23 13:37:46 2021-08-23 13:38:48 DATE_SUB() 获取当前日期前一天 获取当前日期的 ...
最新文章
- python动态数组的最大值_python实现动态数组的示例代码
- 增加DIA进程的方法
- libxml -- 解析 XML 文档
- Ubuntu14.04-LAMP环境搭建
- Bootloader之uBoot简介(转)
- erp 维护费 要交吗_erp系统每年都要缴费吗
- C++多线程快速入门(一):基本常用操作
- 互联网晚报 | 4月14日 星期四 | 山东六地银行下调房贷利率;​茅台一瓶降1000元;康师傅回应老坛酸菜面重新上架;...
- 【JVM】第1篇:JVM内存模型
- mysql 中文 phpmyadmin_mysql中文乱码问题,phpmyadmin操作解决方法
- 吴恩达机器学习作业(1)
- 详细图解哈夫曼Huffman编码树
- 【语音处理】基于matlab GUI声音信号频谱分析仪【含Matlab源码 325期】
- Elasticsearch搜索引擎安装使用及Java中使用
- 东莞:“风暴眼”中的世界工厂
- win7远程桌面连接 简易教程
- 无锡python培训班,无锡Python+人工智能培训
- 移动端适配 postcss-pxtorem插件使用
- spring cloud--微服务
- 设计一个长方体类Cuboid(Java)