oracle中查询第m行到第n行的方法

 表内容如下:
   BALANCE  ACCOUNTNO
---------- ----------
      1000          1
      1000          2
      1000          3
      1000          4
      1000          5
在oracle数据库中查询结果的行号使用伪列ROWNUM表示(从1开始)。需要注意rownum是在查询之后排序之前赋值的。
查前2行:
select * from account where rownum<3;
查后两行(知道总行数):
select * from (select rownum as rowno,balance,accountno from account) t where t.rowno>3;

查后两行(不知道总行数):
select * from (select rownum as rowno,balance,accountno from (select balance,accountno from account order by rownum desc)) t where t.rowno<3;

查第2至第4行
select * from (select rownum as rowno,balance,accountno from account) t where t.rowno>=2 and t.rowno<=4;

你可能感兴趣的:(Database)