表:user_register
字段1    字段2   字段3
user_id number1 loginname
224     001     admin
225     002     qxd
226     003     skw
227     004     test
229     mm      qxm
241     dd      qqsql语句如下:
select  * from (Select user_id,number1,loginName,rownum a  
from user_register where rownum<=4  order by user_id) where a>=1
运行结果如下:
字段1    字段2   字段3
user_id number1 loginname
225     002     qxd
226     003     skw
227     004     test
241     dd      qq这是什么原因?怎么没有显示出:
229     mm      qxm
这行,而显示成:
241     dd      qq
还有,我如何显示第一行记录?
224     001     admin

解决方案 »

  1.   

    select tab.* from (select * from user_register order by user_id ) tab
     where rownum between 1 and 4;
      

  2.   

    谢谢BlueskyWide(谈趣者)这位,这种方法是可以取出前4条记录。
    但我需要取出2-4第记录如何取呢?
      

  3.   

    select * from user_register where rownum <=4
    minus
    select * from user_register where rownum <=2
      

  4.   

    select tab.* from 
    (select rownum id,A.* from A) tab
    where id betwen 2 and 4;