您的位置:首页 > 其它

腾讯布局移动应用商店 总下载量累计达40亿次

2011-11-30 11:06 323 查看
今天测试人员在项目测试中发现查询结果列表分页的时候,有的数据在好几页中重复显示,有的则一次都不显示,经过分析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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: