注意:虽然我使用荷兰zipcodes的zipcode数据库,但是这个问题是独立于国家的。

例如zipcode:

$baseZipCode = 1044;

坐标如下:

x coordinate = 4,808855

y coordinate = 52,406332

$range

$baseZipCode

.

SELECT

zipcode

FROM

zipcodes

WHERE

????? // Need help here

问题是地球并不完全是圆的。我发现很多关于

from a to b

但这不是我需要的。

更新

要查找距离另一个zipcode或点一定英里/公里半径内的所有zipcode和相应距离吗?这个问题需要经纬度坐标来解决。对地址进行地理编码可以从地址中获得纬度/经度坐标。

首先,您需要一个包含所有zipcodes及其相应经纬度坐标的数据库:

CREATE TABLE `zipcodes` (

`zipcode` varchar(5) NOT NULL DEFAULT '',

`city` varchar(100) NOT NULL DEFAULT '',

`state` char(2) NOT NULL DEFAULT '',

`latitude` varchar(20) NOT NULL DEFAULT '',

`longitude` varchar(20) NOT NULL DEFAULT '',

KEY `zipcode` (`zipcode`),

KEY `state` (`state`)

)

// ITITIAL POINT

$coords = array('latitude' => "32.8", 'longitude' => "-117.17");

//RADIUS

$radius = 30;

// SQL FOR KILOMETERS

$sql = "SELECT zipcode, ( 6371 * acos( cos( radians( {$coords['latitude']} ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( {$coords['longitude']} ) ) + sin( radians( {$coords['latitude']} ) ) * sin( radians( latitude ) ) ) ) AS distance FROM zipcodes HAVING distance <= {$radius} ORDER BY distance";

// SQL FOR MILES

$sql = "SELECT zipcode, ( 3959 * acos( cos( radians( {$coords['latitude']} ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( {$coords['longitude']} ) ) + sin( radians( {$coords['latitude']} ) ) * sin( radians( latitude ) ) ) ) AS distance FROM zipcodes HAVING distance <= {$radius} ORDER BY distance";

// OUTPUT THE ZIPCODES AND DISTANCES

$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)){

echo "{$row['zipcode']} ({$row['distance']})
\n";

}

(雅虎和谷歌都提供免费的地理编码服务。)

mysql 周边x公里_mySQL选择y范围内x公里/英里内的zipcodes相关推荐

  1. mysql 上一条_mysql选择上一条、下一条数据记录

    1.表数据结构 选择mysql记录上一条,下一条sql语句 SELECT * FROM user ORDER BY rank ASC +----+------+---------+ | ID | ra ...

  2. 适合mysql的网络存储_mysql 选择合适的存储引擎

    1 MyISAM:默认的MySQL 插件式存储引擎.如果应用是以读操作和插入操作为主, 只有很少的更新和删除操作,并且对事务的完整性.并发性要求不是很高,那么选择这个存 储引擎是非常适合的.MyISA ...

  3. mysql查询值替换_MySQL选择查询替换值

    每: COUNT(CASE WHEN b.name="Clase X" THEN b.name END) 在您的代码中,可以编写为: SUM(b.name='Clase X') b ...

  4. mysql中如何选中数据库_MySQL 选择数据库

    一般 MySQL 数据库服务器上都会有多个可以操作的数据库,我们可能要在数据库之间来回切换 MySQL 允许我们保持连接的时间内切换数据库 mysql client 命令提示窗口中切换 MySQL 数 ...

  5. mysql or 创建索引_Mysql索引优化

    1.单表索引优化 单表索引优化分析 创建表 建表 SQL CREATE TABLE IF NOT EXISTS article( id INT(10) UNSIGNED NOT NULL PRIMAR ...

  6. mysql的英文字母_MySQL中查询的有关英文字母大小写问题的分析

    mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的. 1. 什么是字符集和校验规则? 字符集是 ...

  7. mysql的内外连接_MYSQL的内外连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  8. mysql 拼音首字母_Mysql:拼音首字母查询(超高性能)

    注:不用新建表,查询性能高,可以兼容中英文 简单分析 应用场景:通常对地址或者数量较多的分类会选择首字母查询的方法 性能考虑:PHP中进行首字母查询,网上可以找到很多脚本实现,但需要将所有数据进行读出 ...

  9. mysql 不同的记录_Mysql通过一个限制条件,查出多条不同的记录

    表1和表2是不同数据库中的同名table,但是发现表1中的查询和表2中的查询有区别,(事实是表1的查询是对的.) 表1的查询结果 mysql> select * from slot_value ...

最新文章

  1. 在阿里云ECS服务器上面开启tomcat服务并且正常后,无法访问怎么办?原来是没有开通外网访问的端口
  2. Adapter.getView convertView(重用View) ViewHolder(避免findViewById)
  3. 笨方法“学习python笔记之条件控制
  4. 计算机安全日志,如何回复被删除的电脑安全日志
  5. mysql search yum_mysql的yum安装与配置
  6. 在双屏软件中,PPT自定义动画注意事项
  7. 怎样登陆微信公众号?怎样登陆微信公众号后台?
  8. 联合查询(union)——MySQL
  9. 利用计算机技术设计直流稳压电源,数字化控制在直流稳压电源中 - 稳压电源 - 电子发烧友网...
  10. 自媒体平台搜狗号登陆 搜狗挑战百度、头条有胜算吗?
  11. Python PrettyTable 模块(美化库)
  12. iOS开发--AVFoundation进行视频合成, 导出结果旋转90度问题
  13. PhoneGap移动开发框架2
  14. 股市和庞氏骗局的类同之处
  15. DB2数据库的简单使用
  16. Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()
  17. JAVA实现MD5带盐加密_MD5加盐加密
  18. 小型初创公司Trisymbiotic IP(R)宣布,其美国专利10,020,436的设施效率超越美国和中国最快的超级计算机
  19. 麦子:我奋斗了18年才和你坐在一起喝咖啡
  20. CAD图纸如何转换成白色背景的SVG图片

热门文章

  1. Gmail再好 不敌国内邮箱服务稳定
  2. NOA「降本大战」一触即发
  3. js时间戳 php时间戳,javascript时间戳函数-时间戳总结
  4. vs报错“错误 LNK2019 无法解析的外部符号”的几种原因及解决方案
  5. 全国专业学科英文名称
  6. 如何在mac电脑上免费使用GitKraken
  7. 30天搜索量激增298%!赛盈分销浅谈家具沙发市场的5个消费痛点!
  8. linux分区(详细介绍)
  9. 【handler】Android定时每十分钟执行一次任务
  10. 开源赋能 普惠未来|元遨/CARSMOS诚邀您参与2023开放原子全球开源峰会