4.4.3 数据排重

4.4.3 数据排重

原始数据存放于74个数据库的约260个表中,最终整合到1个库4个表中,经过软件导出导入和误操作等原因产生了重复记录。有重复记录很容易发现,因为数据库中记录数变多了,这就需要数据排重。以滑坡数据查重排重为例,方法如下:

(1)查找表中多余的重复记录,重复记录是根据单个字段(统一编号\f007)来判断。

select*from hp_all where f007 in (select f007 from hp_all group by f007 having count(f007)>1);

(2)删除表中多余的重复记录,重复记录是根据单个字段(f007)来判断,只留有rowid最小的记录。

delete from hp_all where f007 in (select f007 from hp_all group by f007 having count(f007)>1)and rowid not in (select min(rowid)from hp_all group by f007 having count(f007)>1);

斜坡、崩塌、泥石流数据查重排重同样按统一编号字段来判断和删除,脚本语句类似。