select top 50 * from (select top 150 * from table order by  主键 ) order by  主键 desc

解决方案 »

  1.   

    select * from t1 where rownum<=150 order by col
    minus
    select * from t1 where rownum<100 order by col;
      

  2.   

    上面错了 
    SELECT * FROM (select * from t1 where rownum<=150 ORDER BY pk)
    MINUS
    SELECT * FROM (select * from t1 where rownum<100 ORDER BY pk) ;
      

  3.   

    select a.* from 表 a,
    (select rowid no from jbxx where rownum<151 group by rowid
    minus 
    select rowid from jbxx where rownum<101 group by rowid) b where a.rowid=b.no
      

  4.   

    top 是标准SQL关键字!!!!!!!
      

  5.   

    赞同ORARichard(没钱的日子好难过啊) 的观点
      

  6.   

    我在interbase数据库中试过,怎么不支持top么
      

  7.   

    oracle是支持rownum的,这个我知道,但好象oracle又不支持top关键字的
      

  8.   

    top 不是sql 標準關鍵字吧,在oracle中用top就不行
      

  9.   

    rownum , rowid 都不是
      

  10.   

    SELECT * FROM XX WHERE XX LIMIT 100,50
      

  11.   

    好象听说在10g中top是可以的,但在以前的版本是不行的rownum 是伪列,几乎在任何版本中都能用
      

  12.   

    同意楼上的 在 Oracle里 rownum 是通用的,top记得是在9i以上才可以用。
      

  13.   

    SELECT * FROM (select * from t1 where rownum<=150 ORDER BY pk)
    MINUS
    SELECT * FROM (select * from t1 where rownum<100 ORDER BY pk) ;
      

  14.   

    select * from table where rownum>100 and rownum<150
      

  15.   

    to蓝羊:rownum 不能使用>,会提示未选择行的错误
      

  16.   

    to  doulikeme(来去无踪) ,mashansj(风影),ORARichard(没钱的日子好难过啊):
    谢谢各位。你们的语句在Oracle下是可以实现的,但是我现在想知道在interbase下如何实现?
      

  17.   

    TIBSQL IBsql1;
    IBsql1.SQL.Add("select...")
    IBsql1->ExecQuery();
      

  18.   

    100~150条, 这个容易,
    但查 79万100 ~~79万150条,我看以上的方法都不行了。
    如果按oracle公司的介绍,这种情况必须用cursor,
    既然如此,就不应该用一条标准sql了。
      

  19.   

    select * from (select rownum ee,a.* from tcm_user a where rownum <= 150) where ee >= 100