日期:2014-05-17  浏览次数:20760 次

求教一个关于优化数据库表中数据的问题!高手请进!!急等。
现在有张表A。存放客户的债务信息。系统每天对系统内的客户债务信息作1次统计。存放在A表中。在对客户债务进行统计的过程中。没有作任何的限制。导致大量的垃圾数据,因而需要清理这些数据。不知道各位高手有没有好的策略。
举例说明:
表A
==========================================================================
id         date                     year             GDP               GVL                 EAD     .....
3547     2005-01-01         2005             1000             2000               3000
3547     2005-01-02         2005             1000             2000               3000
3547     2005-01-03         2005             1000             2000               3000
3547     2005-01-04         2005             0                   2000               3000
.......省略
需要达到的效果就是把从GDP之后的字段。如果每天的数据完全一样。就删除。只保留1条数据。清除垃圾数据之后的效果应该是:

id         date                     year             GDP               GVL                 EAD     .....
3547     2005-01-01         2005             1000             2000               3000
3547     2005-01-04         2005             0                   2000               3000


写的够详细吗?如果需要其他信息。请留言。我会回复的。
因为A表中数据量比较大,请大家注意效率问题。谢谢。

------解决方案--------------------
最优删除重复记录方法:
DELETE FROM tableA E

WHERE E.ROWID > (SELECT MIN(X.ROWID)

FROM tableA X

WHERE X.id = E.id and x.year=e.year and x.gdp=e.gdp and ...);