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 函数 数学函数 ...
随机推荐
- .Net Core 全球化&本地化的使用
官网文档 nuget地址 创建资源文件 添加资源文件 实施策略 配置本地化 本地化中间件 使用 视图本地化 DataAnnotations 本地化 Make the app's content loc ...
- Writing device drivers in Linux: A brief tutorial
“Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers?” ...
- 每天一个小程序—第0001题(uuid模块)
第 0001 题: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 一开始以为是 ...
- Java 中常见的各种排序算法汇总
首先,Java中自已是有排序的 说明:(1)Arrays类中的sort()使用的是“经过调优的快速排序法”;(2)比如int[],double[],char[]等基数据类型的数组,Arrays类之只是 ...
- confirm("确定要删除吗?") _详解
具体代码如下: html代码: <div class="deletes">删除</div> js代码: <script type="text ...
- C#6.0 语法
属性表达式 属性值初始化 public string name {get;set;} = "张三"; 函数表达式 NULL检查运算符 var aa = Created?.Date; ...
- servlet中为什么doGet方法没有被调用的一种可能(笔记)
创建了一个servlet,然后在doGet()方法内写一些简单的测试语句,但是在实际运行中发现并没有调用到doGet()方法,后来发现自己在创建servlet是将service()方法也勾选上去了,而 ...
- IPC 之 Messenger 的使用
一.概述 Messenger 是一种轻量级的 IPC 方案,它的底层实现是 AIDL ,对 AIDL 进行了封装,方便了对它的使用.Messenger 一次只处理一个请求,所以在服务端不用考虑线程同步 ...
- Android之StrictMode
1. StrictMode是什么? StrictMode is a developer tool which detects things you might be doing by accident ...
- JAVA经典面试题:讲一讲JVM的组成
JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成. 首先来说 JVM 的组成分为,整体组成部分和 ...