我以前也碰到过这个问题
那时没人帮我,没办法我用了一个非常老土的办法
use (表名)
sort to (表名1) on (身份证号的字段名)
use
use (表名1) in 0 excl
sele (表名1)&&新加一个字段,数值型,字节为1,把身份证号的字段改成字符型
repl (新字段名) with 1 all
total on (身份证号的字段名) to (表名2)&&进行汇总
use
use 表名2
brow &&看新字段里面的数字,如果变成2或者3,反正不是1的说明肯定有2条以上的记录存在
select * from 表 where 身份证号 in (select 身份证号 from 表 having count(*)>1 group by 身份证号)
先分组查询(以身份证号码分组),然后计算同一身份证号码大于2个数目(count命令),然后用in在这个东东里面查找身份证号.....从表查找身份号码...不明白了 呵呵谁给具体解释下
1、用身份证号为关键字段索引:
index on 身份证号 to 索引文件
brow && 查看表身份证号相同或相近的会集中在一起
2、做个小程序:
index on 身份证号 to 索引文件1 uniq&& 唯一性索引
copy to array arrayname fiel 身份证号
count to nzens&& 统计真实人数
set index to && 关闭索引,恢复原始记录
n1=1
do while n1<=nzens
cn1=str(n1)
SET FILTER TO 身份证号=arrayname(&cn1,1)
count to nconf&& 统计重复身份证号
if nconf>1
go top
n2=1
do while n2<=nconf
? 姓名,身份证号,报考科目……&& 打印或者生成文本或者生成表记录
skip
n2=n2+1
enddo
endif
n1=n1+1
enddo
SET FILTER TO