如下sql:
select *
from (select rownum rn_,t_.*
from (select *
from PD_MODEL
order by ADD_DATE DESC) t_
where rownum <= (70 + 10))
where rn_ >= (70 + 1)
满足要求的记录总共有268条,但是传入不同的参数查询第60到70条记录以及第70到80条的记录,
发现返回结果一样(268条符合条件的记录互不相同)
在order by的后面追加id的排序后,结果符合预期(第60到70条以及第70到80条的记录不同,并在正确的位置)
select *
from (select rownum rn_,t_.*
from (select *
from PD_MODEL
order by ADD_DATE DESC[color=red],id[/color]) t_
where rownum <= (70 + 10))
where rn_ >= (70 + 1)
问题出现的原因是由于同一add_date有很多记录引起的
问题可以如上解决的原因等有时间再调查!!
SQLSERVER中,如果TOP关键字和ORDER BY关键字一起出现,
是先ORDER BY 后再TOP。也就是说:取得最前面的几条记录是经过排序的。
而ORACLE中,如果使用WHERE rownum<=N和ORDER BY一起出现的话,
ROWNUM优先于ORDER BY。也就是说,ORDER BY无法对所有满足条件的记录排序,只能对当前的rownum<=N中的N条记录排序。
分享到:
相关推荐
解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题
本文将结合作者近日工作中,在ORACLE数据库分页查询时,遇到一个小问题,为大家讲解如何解决Oracle分页查询中排序与效率问题。
Oracle 分页实例 带分页控件用法 Oracle 实现数据列表分页。
Oracle 存储过程 Oracle分页 oracle分页
Oracle分页查询Oracle分页查询Oracle分页查询Oracle分页查询
Oracle的SQL分页实践
oracle&jsp简单实现分页,注意到Oracle包
本文将为大家介绍如何在Oracle中实现搜索分页查询。
Oracle 分页和排序常用的4条查询语句
Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码
java实现oracle分页策略完整版,可当做参考类使用,有详细注释,适合初学者。
数据库采用oracle,完成jsp增删改查、查询、过滤、分页、排序功能。对刚刚接触jsp的软件开发人员来说绝对是最好的范例。
这个也是从网上整理的一片jsp和oracle结合的分页程序。个人觉得还不错,就共享出来了。
Oracle-C#分页Oracle-C#分页
Oracle分页(limit方式的运用)Oracle分页(limit方式的运用)
分页查询是Oracle数据库比较重要的一个知识点!希望这个对你有参照作用。
浅谈Oracle优化排序的操作,ORACLE 参数调整影响
Oracle的分页查询语句以及Oracle分页的存储过程
ibatis调用oracle存储过程分页
mysql,oracle,sql server分页总结与比较