select * from
(select c1,c2,rownum as r,rowid from table where rownum<=20)
r>=11这句话报错,rowid 处有问题,请问这么能够同时查询出rowid,谢谢

解决方案 »

  1.   


    select * from
    (select c1,c2,rownum as r,rowid "rowid" from table where rownum<=20)
    where r>=11
      

  2.   

    select * from
    (select c1,c2,rownum as r,rowid "rowid" from table where rownum<=20)
    where r>=11或者
    select * from
    (select c1,c2,rownum as r,rowid ss from table where rownum<=20)
    where r>=11
      

  3.   

    分页查询不要直接使用rowid,rowid每次使用的时候返回的并不是固定的.要使用索引select * from A where rowid<=20就这条命令,每次使用,返回的数据并不一定相同.
      

  4.   

    想实现什么功能,分页sql的话用rownum就够了,不需要用rowid
      

  5.   

    顶,直接使用ROWNUM的时候限制条件只能小于,不能大于。
      

  6.   

    现在视图中把rowid查出来,去个别名id
    SELECT empno,ename,ID FROM 
    (SELECT t.empno,t.ename,ROWNUM rn,ROWID ID FROM emp t
    WHERE ROWNUM<14)
    WHERE rn>10
      

  7.   

    问题解决了,是别名哪里出错了,r as rownum修改为r "rownum"即可,感谢大家的帮助
      

  8.   

    上面表述有问题,应该是:
    rowid没有给别名而出错了,rowid修改为rowid "rowid"即可,感谢大家的帮助