Oracle的rownum是伪列,是在获得查询结果后对所有行进行编号,rownum必须是从1开始,因此在当前select语句中,只能是rownum < = x 的形式,不能有rownum > x,否则查询结果为空。

实现分页查询或取得指定行的数据标准sql如下:

select *
  from (select a.*, rownum rn
          from (select * from test order by UNIQUEID) a
         where rownum <= 10)
 where rn > 5