sql查询身份证是否重复 小弟想做一个查询,统计出身份证重复的记录(其中包括15位与18位重复,数据已经重复),关键怎么判断15位身份证和18位的,然后再用sql统计出重复的记录小弟现在用php+oracle8 做的,怎么弄啊请各位大哥大姐帮忙啊···最好能贴出源码,实在不行说说思路也行啊···谢谢啊··· 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以把15位的全部转换成18位的SQL中虽然可以完成转换,不过不方便 如果仅用SQL,速度不会快的。可以用substrin 函数截取15位。然后group by , having count(*)>1 是的,可以在程序中处理的,就不要放在sql中执行。 3楼的可行 只靠sql会很慢 有个笨点的办法,把存储身份证的表复制多一个出来,建产索引会快一些;查询其中一个表,在循环里查另一个表,如果身份证记录有大于2的就echo出来;不然就如3楼所解! $sql="select * from table "; $rs=mysql_query($sql);while($row=mysql_fetch_array($rs)){ $idcard=$row['idcard']; $sql2="select * from table2 where idcard='".$idcard."'"; $rs2=mysql_query($sql2); $count=mysql_num_rows($rs2); if($count>1) { echo "身份证重复记录:".$idcard."共".$count."条!<br>"; }} 【项目需求】 广州的phper有兴趣接项目的请看。 有关工作流引擎问题 [求助!!]如何把wordpress的数据库连接修改为我自己配置的文件:app_config.php中的链接. window7连接mysql非常慢 有人用过ImageImagick 来给图片加水印么 注册页面怎么验证空? 大型系统的设计方法? 怎样解决“星空级速”一卡多用户的问题 求一个正则,有点难,高手进 怎么控制概率?思路如何? CSTP开设哪些专业,我能不能学会? 求phpchina邀请码,那位仁兄给发邮箱[email protected]
如果仅用SQL,速度不会快的。可以用substrin 函数截取15位。然后group by , having count(*)>1
是的,可以在程序中处理的,就不要放在sql中执行。
$sql="select * from table ";
$rs=mysql_query($sql);
while($row=mysql_fetch_array($rs))
{
$idcard=$row['idcard']; $sql2="select * from table2 where idcard='".$idcard."'";
$rs2=mysql_query($sql2);
$count=mysql_num_rows($rs2);
if($count>1)
{
echo "身份证重复记录:".$idcard."共".$count."条!<br>";
}
}