select * from  表名 where rowid in (select ID from (select rownum rn,ID from (select rownum ID from 表名)where rownum<4)where rn>1) 只显示2条数据? 数据库有15条数据 显示第二行和第十一行这两天数据啊?哪里错了啊?

解决方案 »

  1.   

    你这个rownum<4,只能查处3条数据,然后rn>1,把第一条数据又过滤掉了,所以只能查出两条是正常的,多条就不正常了
      

  2.   

    --你本来就是显示2条select * from 表名 
    where rowid in (
    select ID from (select select rownum rn, ID from 表名)  where rn between 2 and 3)
      

  3.   


     ------这样就可以了。。                 
    select *
      from (select *
              from (select t.*, rownum rn from 表名 t where rownum <= 4) rn > 1)
      

  4.   

    那个 t 是什么啊? 今天刚用oracle数据库
      

  5.   

    t 代表表的别名,你把排序加到最后就可以了。。
    select *
    from (select *
    from (select t.*, rownum rn from 表名 t where rownum <= 4) rn > 1) order by colname