1:导入数据
2:按所有字段分组删除rowid小的记录

解决方案 »

  1.   

    group by a,b,c,... having count(*)>1
      

  2.   

    delete from tb where rowid in (select min(rowid) no from tb group by a,b,c,... having count(0)>1)a,b,c为tb表中的所有字段
    这个结果集就是可以删除的数据为安全起见,可以在测试表中先做测试
      

  3.   

    我试了一下,没有删除掉,删除0行。
    另外我还想问一下count(0)是什么一下,可以么??
      

  4.   

    我在测试表中重复导入两次记录,然后参照上述sql语句,执行后返回为删除0条啊!
      

  5.   

    group by 这里我只取了前面两列的列名就能成功删除。
    但是group by 条件为前面两列的列名+最后一列的列名就不行。
    估计和我最后一列的类型为date型有关系
    谢谢你,不知你是否能告知一下这里的为何用count(0)么?
    谢谢!
      

  6.   

    count(0)/count(*)/count(field)...都是一样的,表示统计个数,在你这个问题中即表示重复的记录的条数。date型的数据因为含年月日时分秒几乎不可能一样,所以用该型字段分组时要用trunc(时间字段)