Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

公式例如以下,单位米:
第一点经纬度:lng1 lat1
第二点经纬度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*

pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

比如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
 juli
FROM store_info having juli > 500
ORDER BY juli DESC
LIMIT 100
时间: 2024-08-06 04:09:30

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算的相关文章

指定经纬度与数据库多条经纬度进行距离计算

##121.308364,30.225778 示例对比的坐标 select * from broadcasts where location!='' and sqrt( ( ((121.308364-longitude)*PI()*12656*cos(((30.225778+latitude)/2)*PI()/180)/180) * ((121.308364-longitude)*PI()*12656*cos (((30.225778+latitude)/2)*PI()/180)/180) )

MySql创建指定字符集的数据库

以创建字符集为utf8的数据库为例: CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE 的语法: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT]

Mysql 拿指定经纬度与数据库大批量数据进行距离比较

// 经纬度说数据库进行比较 StringBuffer sb = new StringBuffer(); sb.append("select timeKey,"); sb.append("ROUND(6378.138*2*ASIN(SQRT(POW(SIN((?*PI()/180-lat*PI()/180)/2),2)"); sb.append("+COS(?*PI()/180)*COS(lat*PI()/180)*POW(SIN((?*PI()/&quo

用尽洪荒之力整理的Mysql数据库32条军规

今天上午吐血整理了Oracle SQL性能优化的40条军规,其中很多规则也是适用于Mysql的,结果今晚发现这一篇文章——用尽洪荒之力整理的Mysql数据库32条军规,和我的竟有异曲同工之妙,当然不同的是这是由具有12年Java开发经验的老鸟写的,其见解和认识肯定比我的更加深刻,感谢前辈,现全文转载如下: --------------------------------------------------------------split line------------------------

全球78707个主要城市信息MYSQL数据库,包含经纬度坐标值

全世界78707个主要城市信息MYSQL数据库,包含经纬度坐标值,已经导出成了SQL文件,因为比较大,有10M,所以这里单独导出来,供升级失败的同学手工导入,如图: 这个数据主要是用于天气预报插件的,天气预报插件,需要首先从这个库里面,查询城市的ID,在把ID传给接口,返回天气预报数据. 这里上传不了附件,下载请去官方博客:http://blog.erdaicms.com/lvyou/97

常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; help show; 显示可用的数据库列表:show databases; 显示一个数据库内可用的表的列表:show tables; 显示表列:show columns from 一个表名; /describe 表名;  示例:show columns from customers;    desc

MySQL主从同步配置实现数据库备份

作为数据库的主要备份手段,主从同步能实现从主库(即当前使用的业务数据库)异步同步数据到从库(备份库),当主库数据库或主机出现当机不能启动时,可以通过切换到从库实现业务系统的快速恢复. 首先介绍一下我的环境,我有一个已经使用中的MySQL数据库A,然后我新装了一台MySQL数据库B作为A的从库. 一.master库A设置 先修改mysql的配置 vim /etc/my.cnf 插入下面2行 server-id=1   #这个ID是唯一的,不能和其他的主库或者从库一样 log-bin=mysql-b

php mysql 中文乱码解决,数据库显示正常,php调用不正常

一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存.要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码: 1.文件编码:指的是页面文件(.html,.php等)本身是以何种编码来保存的.记事本和Dreamweaver在打开页面时候会自动识别文件编码因而不太会出问题.而ZendStudio却不会

MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本章迭代更新) 一.数据库之间的区别 MySQL MySQL概述 关系型数据库.无论数据还是索引都存放在硬盘中.到要使用的时候才交换到内存中.能够处理远超过内存总量的数据. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的 SQL 语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断