select * from tablename 
minus
select * from tablename 
where rownum<(select max(rownum) from tablename)-10;

解决方案 »

  1.   

    有没有代表插入时间的字段
    如果有
    select * from (select * from tname order by insert_date desc) where rownum<11;
    如果没有,试试
    select * from (select t1.*,t1.rowid from t1 order by rowid desc) where rownum<11;
      

  2.   

    select A.id
    from (select id,rownum as oi from test1) A,
         (select max(rownum) as ui from test1) B
    where A.oi>B.ui-10;
      

  3.   

    select * from tablename 
    where rownum<=(select max(rownum) from tablename)-10;
      

  4.   

    无非是先用子查询生成rownum ,然后在主查询中采用where 字句
      

  5.   

    select * from tablename 
    where rownum<=(select max(rownum) from tablename)-10;
    这句话编译有错:
    ERROR at line 2:
    ORA-00933: SQL command not properly ended不知道是语句本身有问题还是我的oracle版本太旧(8.0.6)
      

  6.   

    对不起,应该改为:
    select * from tablename 
    minus
    select * from tablename 
    where rownum<=(select max(rownum)-10 from tablename我的测试:
     select * from pmzd
     minus
     select * from pmzd
     where rownum<(select max(rownum)-10 from pmzd)
    的确得到最后的10条兰色沸点:你说的是去除最后10条的结果!
      

  7.   

    对不起,再改一下:
    select * from tablename 
    minus
    select * from tablename 
    where rownum<=(select max(rownum)-10 from tablename);我的测试:
     select * from pmzd
     minus
     select * from pmzd
     where rownum<=(select max(rownum)-10 from pmzd);
    一定要有“=”,否则是11条