delete  from (select * from test_tab order by tab_id desc ) where rownum<10

解决方案 »

  1.   

    delete  from (select * from test_tab order by rowid desc ) where rownum<10
      

  2.   

    以前好象做过这样的题:
    delete  from (select * from test_tab order by rownum desc ) where rownum<11
    你试试,应该可以,操作之前最好做个备份,预防...
      

  3.   

    SQL> select * from a
      2  ;       NUM
    ----------
          1.23
             1
         1.456SQL> select last_value(num) over(order by rownum desc) from a;LAST_VALUE(NUM)OVER(ORDERBYROW
    ------------------------------
                             1.456
                                 1
                              1.23哪么你的表假如有主键num,就可以写成以下
    delete from a where num in (select num from (select last_value(num) over(order by rownum desc) from a) where rownum<=10);