mysql查附近500米商户_mysql查询附近门店
mysql 查询一个地点(经纬度) 附近N公里内的数据。(根据一个地点的经纬度查询这个地点方圆几公里内的数据)
1.创建测试表
CREATE TABLE `location` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`longitude` decimal(13,10) NOT NULL,
`latitude` decimal(13,10) NOT NULL,
PRIMARY KEY (`id`),
KEY `long_lat_index` (`longitude`,`latitude`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.插入测试数据
insert into location(name,longitude,latitude) values('广州东站',113.332264,23.156206),
('林和西',113.330611,23.147234),
('天平架',113.328095,23.165376);
3.搜寻1公里内的数据
搜寻点坐标:时代广场 113.323568, 23.146436
6370.996公里为地球的半径
计算球面两点坐标距离公式:
C = sin(MLatA)sin(MLatB)cos(MLonA-MLonB) + cos(MLatA)cos(MLatB)
Distance = RArccos(C)*Pi180
根据计算公式得到查询语句如下:
select * from `location` where (
acos(
sin(([#latitude#]*3.1415)/180) * sin((latitude*3.1415)/180) +
cos(([#latitude#]*3.1415)/180) * cos((latitude*3.1415)/180) * cos(([#longitude#]*3.1415)/180 - (longitude*3.1415)/180)
)*6370.996
)<=1;
执行查询:
SELECT * FROM `location` WHERE (ACOS(SIN((23.146436*3.1415)/180) * SIN((latitude*3.1415)/180) + COS((23.146436*3.1415)/180) * COS((latitude*3.1415)/180) * COS((113.323568*3.1415)/180 - (longitude*3.1415)/180))*6370.996)<=1;
mysql查附近500米商户_mysql查询附近门店相关推荐
- mysql查所有值的长度_MySQL查询以获取列中所有值的字符长度?
若要获取字符长度,请使用CHAR_LENGTH()方法.让我们首先创建一个表-mysql> create table DemoTable -> ( -> Name varchar(1 ...
- mysql查各分数段人数_mySql 分段查询
标签: 准备: 创建一个成绩表 Create table grade (id integer, score integer); 插入数据(只有id每次加一,score是1到100的随机数,java生成 ...
- mysql查其它用户的表_mysql sql查询如何实现发私信用户和其他用户的列表?要求消重所有重复的用户结果...
私信表结构如下: 建表语句和数据CREATE TABLE `message` ( `id` int(5) NOT NULL, `sender_id` int(5) DEFAULT NULL, `rec ...
- mysql查询表里面重复的数据_mysql查询表里的重复数据方法
这篇文章主要介绍了mysql查询表里的重复数据方法,需要的朋友可以参考下 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),( ...
- mysql 查看某个表缓存情况_MySQL 查询缓存 QUERY_CACHE
保存查询返回的完整结果.当查询命中该缓存,MySQL会立即返回结果,跳过解析.优化和执行阶段. 官方在特定环境测试结果(官方文档中有详细说明): 1.如果对某表进行简单查询,但每次查询条件都不一样时, ...
- mysql表中有重复的元组_MySQL查询找到重复的元组并显示计数?
要查找重复的元组,请使用GROUP BY HAVING子句.让我们首先创建一个表-mysql> create table DemoTable -> ( -> Id int, -> ...
- mysql查阅某个日期的语句_mysql查询指定日期时间内的sql语句及原理
查询指定日期时间内的sql语句的实现原理: 如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录. 另外,在数据库设计阶段,要注意时间字段为int(11),保存在数 ...
- mysql 从库 速度太慢_mysql查询速度慢的原因[整理版]
在以前的博客中陆续记录了有关查询效率方面的文章.今天在整理一下,写上自己的一些心得记录如下: 常见查询慢的原因常见的话会有如下几种: 1.没有索引或没有用到索引. PS:索引用来快速地寻找那些具有特定 ...
- mysql学生表选课表课程表_mysql查询(学生表、课程表、选课表)
************************************************************ 为sc表中的sno和cno创建外键 alter table sc add fo ...
最新文章
- 如何使用Apache的ab工具进行网站性能测试
- 2.10 是否要使用端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- python 获取第一个key_Python中常见的9大坑,看看你有没有遇到
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据编辑...
- 【操作系统】输入输出系统(下下)-思维导图0.0
- 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)
- aix errpt输出详解
- Bresenham画线算法详解及其OpenGL编程实现
- 计算机网络技术教研活动,(2012.09.27)计算机网络技术专业教研活动(文本).doc...
- 测试用例的定义,测试用例模板,测试用例的作用,测试用例编写注意事项
- Android gallery 3D效果(扩展Gallery)
- exadata的infiniband管理
- 台达plc接线图实物_台达PLC dvp-14es 外部电路怎么接线
- 【期刊推荐】JCR2区数学算法优化类重点SCI期刊征稿中~
- 使用python做手机app后台
- 2022年金三银四该如何规划,才能轻松拿到offer
- IT4IT的前世今生
- 最易懂得 鸿蒙 实战 - 真机调试 原子服务
- arm服务器芯片尺寸,华为公开ARM服务器芯片“Hi1620”:7nm+64核心
- 今日春分|春生美好,万事可期