根据身份证号码判定原籍地的方法

1.获取省市区的字典.

从公开信息获取信息,以上面的数据为参考,见参考资料【1】

2.获取身份证列表(自己想办法)

3.字典使用excel的拆分单元格方式,拆成两行

4.取两行数据放入到notepad++或者其他工具,保存为.csv或者.txt格式

导入到mysql或者其他数据库

形成字典表

select SUBSTR(code FROM 1 FOR 2) as provinceCode,address as provinceName from address where code like '%0000';

形成省份地区关联表

insert INTO MappingCode(id_code,province,city)<br>select a.code,p.proviceName,CONCAT(p.proviceName,a.address) FROM address a<br>LEFT JOIN province p on SUBSTR(a.code FROM 1 FOR 2)=p.provinceCode

1.查询身份证所属省份

select  pr.proviceName as '&#x7701;&#x4EFD;',ss.cnt as '&#x8EAB;&#x4EFD;&#x4FE1;&#x606F;&#x7684;&#x6570;&#x91CF;' from <br>(select t.province as provinceCode,count(t.province) as cnt from (select SUBSTR(idno FROM 1 FOR 2) as province  from info ) t GROUP BY t.province <br>order by count(t.province) desc limit 1000) ss<br>LEFT JOIN province pr ON pr.provinceCode=ss.provinceCode <br>where pr.proviceName is not null<br>ORDER BY ss.cnt desc;

2.查询身份证所属地区

select  mc.city as '&#x5730;&#x533A;',ss.cnt as '&#x8EAB;&#x4EFD;&#x4FE1;&#x606F;&#x7684;&#x6570;&#x91CF;' from <br>(select t.area as areaCode,count(t.area) as cnt from (select SUBSTR(idno FROM 1 FOR 6) as area  from info ) t GROUP BY t.area <br>order by count(t.area) desc limit 1000) ss<br>LEFT JOIN MappingCode mc ON id_code=ss.areaCode <br>where mc.city is not null<br>ORDER BY ss.cnt desc;

参考资料

【1】https://www.cnblogs.com/wormday/articles/278709.html

Original: https://www.cnblogs.com/davidwang456/p/12453788.html
Author: 一天不进步,就是退步
Title: 根据身份证号码判定原籍地的方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547641/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 哎,又跟HR在小群吵了一架!

    原创不易,求分享、求一键三连 书接上文: 跟HR在大群吵了一架… 难道,降本增效就是裁员吗 前段时间我问了自己一个问题,如果自己真的是 公司内部的外包团队,会怎么样?自…

    技术杂谈 2023年6月1日
    084
  • C++中函数的参数加了&和const的作用

    例如下面这段代码 fun(int* in, const std::string& str) { } 不加引用的话,str则被复制一份,函数中对str的操作实质上是对其复制品…

    技术杂谈 2023年7月24日
    067
  • HDU 4107 Gangster Segment Tree线段树

    这道题也有点新意,就是须要记录最小值段和最大值段,然后成段更新这个段,而不用没点去更新,达到提快速度的目的。 本题过的人非常少,由于大部分都超时了,我严格依照线段树的方法去写。一開…

    技术杂谈 2023年5月30日
    075
  • Qt error: ‘class Ui::XXXXX‘ has no member named ‘XXXXX‘

    这个原因是因为 设计界面对应的 ui_xx.h文件未更新造成的(原因:比如我们工程从一台机器复制到另一台机器,有可能造成该文件不再更新了)(在我们的main.cpp同级目录那个ui…

    技术杂谈 2023年5月31日
    0132
  • 8086汇编 零碎杂项

    8086汇编 杂项零碎 […]与(…) 一、内存单元描述 1、[…]——(汇编语法规定)表示一个内存单元 2、(…)——(为学习方便…

    技术杂谈 2023年6月1日
    075
  • LESS详解之函数(四)

    之前已经为大家介绍了一些LESS函数,大家应该对之前介绍的有所了解了。下面依旧为大家介绍LESS的函数,附加着一些小例子。希望这些有关LESS的函数能在大家编写LESS的时候有所帮…

    技术杂谈 2023年6月1日
    095
  • javaweb获取客户端真实ip

    &#xA0; &#xA0; &#xA0; public static String&#xA0;getClientIP(HttpServletRequ…

    技术杂谈 2023年6月21日
    080
  • 二进制状态压缩

    二进制状态压缩 取出整数n在二进制表示下的第k位: (n>>k)&1 取出整数n在二进制下的第0~k-1位 n&((1<<k)-1) &lt…

    技术杂谈 2023年7月11日
    077
  • [学习笔记]Java抽象类

    抽象类 在Java中所有的对象都是通过类来描述的,但不是所有的类都用于描述对象,抽象类就是这样一种存在; 抽象类不能用于实例化对象,但它也可以拥有普通类一样的成员变量、成员方法和构…

    技术杂谈 2023年7月24日
    073
  • graylog 源码结构&构建简单说明

    graylog 的源码属于一个单体系统,构建比较符合maven 构建系统,包含了web 以及server backend 模块,一些一些其他依赖模块web 构建使用了fronten…

    技术杂谈 2023年5月30日
    097
  • 如果对象的引用被置为null,;垃圾回收器是否会立即释放对象占用的内存?

    不会,在下一个垃圾回调周期中,这个对象将是被可回收的。 也就是说并不会立即被垃圾收集器立刻回收,而是在下一次垃圾回收时才会释放其占用的内存。 Original: https://w…

    技术杂谈 2023年5月31日
    088
  • 批量替换脚本中的换行符rn为n命令引发的问题

    脚本中包含内容: sed -ie ‘s/^M//g’ insert_data.sql 使用一下命令将脚本中的换行符替换成unix下的换行符: find -name *.sh| xa…

    技术杂谈 2023年6月1日
    088
  • 巴西针对电源产品的新法规

    巴西ANATEL近日发布了一项新的5159法案,该法案内容主要是关于移动电话使用的有线和无线电源和充电器。 法案称为《手机用充电器合格评定技术要求及测试程序》,涵盖了产品安全性和E…

    技术杂谈 2023年6月21日
    081
  • 记一次docker compose的低级错误

    记一次docker compose的低级错误 问题 ​ 今天在学习dockercompose的时候,启动docker compose up,结果却出现异常 Error respon…

    技术杂谈 2023年6月21日
    0101
  • 循环神经网络 RNN

    生活中,我们经常会遇到或者使用一些时序信号,比如自然语言语音,自然语言文本。以自然语言文本为例,完整的一句话中各个字符之间是有时序关系的,各个字符顺序的调换有可能变成语义完全不同的…

    技术杂谈 2023年7月11日
    077
  • 2022年5月数据库排名

    数据来源:https://db-engines.com/en/ranking Original: https://www.cnblogs.com/chujian007/p/1631…

    技术杂谈 2023年7月24日
    056
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球