首頁 > 資料庫 > mysql教程 > Oracle数据库中rownum分页

Oracle数据库中rownum分页

WBOY
發布: 2016-06-07 17:11:01
原創
1570 人瀏覽過

测试人员在项目测试中发现查询结果列表分页的时候,有的数据在好几页中重复显示,有的则一次都不显示,经过分析sql,原来问题出在

测试人员在项目测试中发现查询结果列表分页的时候,有的数据在好几页中重复显示,有的则一次都不显示,经过分析sql,原来问题出在rownum分页上了。在Oracle中使用rownum分页,以前是按以下方式写:

select * from
(select a.*,rownum rn from table a where 条件 ) b
where b.rn between 1 and 20 ;

在单表查询时,这个结果分页显示不会出问题,但当多表关联时,rownum就会乱,现在改为如下方式,,按指定字段排序后再获取rownum,这样每次查询出来的结果就一致了:

select * from
(select a.*,rownum rn from
(select * from table c,table1 d where 条件 order by c.id desc) a
) b where b.rn between 1 and 20

linux

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板