ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能
用ROWNUM<100, 不能用ROWNUM>80。
  以下是经过分析后较好的两种ORACLE翻页SQL语句( ID是唯一关键字的字段名 ):
  语句一:
  SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT
ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) WHERE NUMROW > 80 AND 
NUMROW < 100 ) ORDER BY 条件3; 
 
  语句二:
  SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM 
TABLE_NAME WHERE 条件1 ORDER BY 条件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
----------------------------------------------------------------
原贴内容:
Oracle里取一段数据给个例子我看看rownum什么的我还没有用过 
编号: 555 发送者 xmvigour 发送时间 2002-8-19 11:25:25 删除  回复  
内容 返回第5—9条纪录,按月份排序
SQL> select * from (select rownum row_id ,month,sell 
  2  from (select month,sell from sale group by month,sell)) 
  3  where row_id between 5 and 9;
如何用rownum实现大于、小于逻辑?(返回rownum在4—10之间的数据)(minus操作,速度会受影响)
SQL> select rownum,month,sell from sale where rownum<10
  2  minus
  3  select rownum,month,sell from sale where rownum<5;