现在有张表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表中数据量比较大,请大家注意效率问题。谢谢。
举例说明:
表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表中数据量比较大,请大家注意效率问题。谢谢。
解决方案 »
- Oracle的PL/SQL数组问题
- oracle光標顯示出來嗎?
- 对表中所有字符型字段自动去除双引号!!!!!!!!!
- 求助SQLUnit工具 报错 does not exist in the project "sqlunit".
- sql优化
- 如何在oracle中利用存储过程实现分组排序功能
- 请求一个统计的SQL.
- sql命令,在oracle 8.0.5 中可以正常使用,但在oracle 7.3 中报错,是何缘故?
- 介绍几本好的Oracle书吧!-----散分!!!
- group by 语句中的sequence 问题?
- 关于索引的理解
- 请问:如何使用触发器或者其他方法监控表中每个字段更新!具体到每个字段!谢谢
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 ...);
你的SQL语句是不是将重复记录全部删除了。看的不太明白。那位能给解释解释。谢谢!!