我插入了一行数据,但是无意中连续运行了两次, 现在我想删除最后一行,请问这样的操作语句该怎么写?

解决方案 »

  1.   

    能查出那两行吗?delete table where rowid in( select max(rowid) from 那两行 );那两行 换成 找到那两行的视图
      

  2.   

    能查出那两行吗? 
    SQL codedelete table where rowid in( select max(rowid) from 那两行 );
    那两行 换成 找到那两行的视图
      

  3.   

    去除重复行delete from tablename
    where rowid not in(
    select rowid
    from(
    select a,b,c,row_number() over(partition by a,b,c order by rowid)  rn
    from tablename) where rn=1)
      

  4.   


    SQL> select * from a;NAME                         ID ORDER_TITLE
    -------------------- ---------- --------------------
    中国科学技术大学              1 科学
    中国科学技术大学              1 科学
    中国科学技术大学              1 科学SQL> SQL> DELETE FROM a WHERE ROWID IN( SELECT MAX(ROWID) FROM a);已删除 1 行。SQL> select * from a;NAME                         ID ORDER_TITLE
    -------------------- ---------- --------------------
    中国科学技术大学              1 科学
    中国科学技术大学              1 科学SQL> 
      

  5.   

        将所有制作为条件查那两行伤处rowid大的那一行就好了!
      

  6.   

    把六楼的方法改一下 就完美了:这样的所有重复的就只剩下一条了  
    DELETE FROM a WHERE ROWID not IN( SELECT MAX(ROWID) FROM a group by name );
      前提是 你name相同的都是重复记录   否则要给条件