mysql使用sql语句根据经纬度计算距离排序
CREATE TABLE `locationpoint` (
`id` int(11) NOT NULL,
`province` varchar(20) NOT NULL,
`city` varchar(20) NOT NULL,
`longitude` double(10,3) NOT NULL,
`latitude` double(10,3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 INSERT INTO `locationPoint` VALUES ('1147','安徽省', '合肥', '117.170', '31.520');
INSERT INTO `locationPoint` VALUES ('1148','安徽省', '安庆', '117.020', '30.310');
INSERT INTO `locationPoint` VALUES ('1149','安徽省', '蚌埠', '117.210', '32.560');
INSERT INTO `locationPoint` VALUES ('1150','安徽省', '亳州', '115.470', '33.520');
INSERT INTO `locationPoint` VALUES ('1151','安徽省', '巢湖', '117.520', '31.360');
INSERT INTO `locationPoint` VALUES ('1152','安徽省', '滁州', '118.180', '32.180');
INSERT INTO `locationPoint` VALUES ('1153','安徽省', '阜阳', '115.480', '32.540');
INSERT INTO `locationPoint` VALUES ('1154','安徽省', '贵池', '117.280', '30.390');
INSERT INTO `locationPoint` VALUES ('1155','安徽省', '淮北', '116.470', '33.570');
SELECT
city,
longitude,
latitude,
ROUND(
6371.393 * 2 * ASIN(
SQRT(
POW(
SIN(
(
22.53462 * 3.1415926 / 180 - latitude * PI() / 180
) / 2
),
2
) + COS(22.53462 * 3.1415926 / 180) * COS(latitude * PI() / 180) * POW(
SIN(
(
113.9602 * 3.1415926 / 180 - longitude * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance_um
FROM
locationpoint
ORDER BY
distance_um ASC
mysql使用sql语句根据经纬度计算距离排序的更多相关文章
- Solr 空间搜索配置、按经纬度计算距离排序
Solr 空间搜索配置 1. 在solr目录下的找到conf文件夹下的schema.xml. <fields> <!-- 在fields元素中添加如下代码 --> <fi ...
- MySQL创建根据经纬度计算距离的函数
按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及 ...
- MySQL数据库SQL语句基本操作
一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...
- mysql执行sql语句过程
开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...
- mysql优化sql语句
mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使 ...
- mysql 常用 sql 语句 - 快速查询
Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互 1.1.1 mysql 连接 mysql.exe -hPup ...
- MySQL 数据库SQL语句——高阶版本2
MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...
- MySQL 中 SQL语句大全(详细)
sql语句总结 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操 ...
- 29.MySQL高级SQL语句
MySQL高级SQL语句 目录 MySQL高级SQL语句 创建两个表 SELECT DISTINCT WHERE AND OR IN BETWEEN 通配符 LIKE ORDER BY 函数 数学函数 ...
随机推荐
- nrf24l01 IRQ一直为高电平
测试发现发送数据时MCU卡住不动,测试发现卡在了 while(NRF24L01_IRQ!=0); 也就是说管脚IRQ一直是高电平.仔细排查发现nrf24l01处于接收模式,改为发送模式就好了 NRF2 ...
- 【译】第45节---EF6-索引属性
原文:http://www.entityframeworktutorial.net/entityframework6/index-attribute-in-code-first.aspx Entity ...
- 进度条的制作-python
import time,sys def view_bar(num, total): rate = float(num) / float(total) rate_num = int(rate * 100 ...
- 【Oracle】【问题】
1. java.sql.SQLException: 对只转发结果集的无效操作: last 参考:https://www.cnblogs.com/gaoyuchuanIT/articles/411888 ...
- ERR! registry error parsing json
报错日志: ERR! registry error parsing json ERR! registry error parsing json 解决过程: 从github上克隆一个项目,在npm i的 ...
- restFul接口设计规范
1.域名 1 应该尽量将API部署在专用域名之下. https://api.example.com 2 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example. ...
- sql 中常见的控制流语句
控制流语句:1 begin .....end 2 if ...else 例如:if exists (select * from 表名称 ) begin selct * from 表名称 end ...
- ZZNUOJ 2022 摩斯密码
map打表存一下对应的密码 不会map感觉不好弄这题 #include<stdio.h> #include<string.h> #include<math.h> ...
- jmeter线程组之间传参
背景介绍: 使用jmeter做登录和搜索接口的测试: 登录接口请求头为:Content-Type: application/x-www-form-urlencoded; charset=UTF-8 搜 ...
- 关于UTC时间和本地时间
收藏了个类Publics 可以实现本地时间和UTC时间的转换 UCT时间=本地时间-8 本地时间比UTC时间快8小时 element-ui的日期选择器上 选择的时间显示的是本地时间 但实 ...