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;
用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;
解决方案 »
- 比较难的问题,请高手指点迷津:关于Sql词法分析和Sql语法高亮?
- 小弟学java不久,希望各位能帮我写个建议银行业务代码
- 一道笔试题(java)
- Java1.5泛型指南中文版[zz]
- 关于keyEventListener
- 如何删除properties文件的属性
- 怎么将一段十六进制的数字转化为十进制啊?
- 初学java请各位指点!!关于访问权限的问题?
- win2000+jbuilder5开发出来的application,直接将jar包放在linux下运行,有几个窗口弹出时一闪而过,不知是何原因?怎样解决?
- 二分法查找排序代码详解
- 菜鸟提问:java运行的问题?
- 使用PreparedStatement向表插入数据的时候,如果一个字段是自动增长的,应该怎么办呀???
select * from (select TableA.*,rownum as rowno from TableA order by CreateTime desc) where rowno<='20' and rowno<='11'
原因请上网查询rownum的定义