创建位置表,并且插入测试数据

/*

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。      Navicat MySQL Data Transfer      Source Server         : localhost      Source Server Version : 80011      Source Host           : localhost:3306      Source  Database        : test      Target Server Type    : MYSQL      Target Server Version : 80011      File Encoding         : 65001      Date : 2018-11-07 16:58:27      */ SET  FOREIGN_KEY_CHECKS = 0;   -- ---------------------------- -- Table structure for location -- ---------------------------- DROP  TABLE IF EXISTS `location`;   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 AUTO_INCREMENT = 5  DEFAULT  CHARSET = utf8;   -- ---------------------------- -- Records of location -- ---------------------------- INSERT  INTO  `location` VALUES      (          '1' ,          '广东省深圳市龙岗区坂田街道五和大道万科四季花城北区' ,          '22.6265210000' ,          '114.0606880000'      );   INSERT  INTO  `location` VALUES      (          '2' ,          '广东省深圳市龙华区民治(地铁站)' ,          '22.6175280000' ,          '114.0406460000'      );   INSERT  INTO  `location` VALUES      (          '3' ,          '广东省深圳市龙华区红山(地铁站)' ,          '22.6218860000' ,          '114.0234800000'      );   INSERT  INTO  `location` VALUES      (          '4' ,          '广东省深圳市南山区西丽街道沙河西路名典商旅酒店(深圳西丽店)' ,          '22.5801670000' ,          '113.9543000000'      );   搜索附近50KM的数据 #经度:22.626521  #纬度:114.060688 #50KM范围   SELECT      * FROM      (          SELECT              *, sqrt(                  (                      (                          (22.626521 - longitude) * PI() * 12656 * cos(                              ((114.060688 + latitude) / 2) * PI() / 180                          ) / 180                      ) * (                          (22.626521 - longitude) * PI() * 12656 * cos(                              ((114.060688 + latitude) / 2) * PI() / 180                          ) / 180                      )                  ) + (                      (                          (114.060688 - latitude) * PI() * 12656 / 180                      ) * (                          (114.060688 - latitude) * PI() * 12656 / 180                      )                  )              AS  lc          FROM              location      ) location WHERE      lc < 50 ##距离小于50KM ORDER  BY      ##距离小于排序      lc 显示结果  Mysql根据经纬度筛选数据 Mysql

 

 博客地址: http://blog.mojxtang.com
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄