星空网 > 软件开发 > 数据库

用rownum先排序后分页

  今天突然想到rownum可以解决分页问题,于是做了各种实验,找个几个文章,最后有了一定成果。

  现有表tablename,含有字段showorder,要求提取showorder的第11行到20行数据。

  用语句select rownum r,a.* from tablename a order by showorder进行查询的时候会发现结果集中rownum是在排序之前赋的值,因此如果需要按showorder提前的话应该先将tablename按showorder排序,将排序后的结果集按rownum提取。

  用语句SELECT ROWNUM r, a.* FROM (select * from tablename order by showorder) a WHERE ROWNUM <= 20 可以查出前20条,但如果过滤条件变成rownum<=20 and rownum >=10,就会发现结果集一条数据都没有,因为rownum是提取数据,将数据操作完成之后再进行标记行号,关于这点,有个作者写的很好http://blog.csdn.net/greenappple/article/details/6872660,大家可以看看。

  剩下的操作是将标记好行号的前20条数据提取后十条。

  SELECT *  FROM (SELECT ROWNUM r, a.* FROM (select * from tablename order by showorder) a WHERE ROWNUM <= 20 )  WHERE r >= 11;

  上面的语句用plsql执行时用了0.078秒,等同于plsql查询上千行的表时只查处了前十条的时间。

  网上有很多好文章写着块的,此处只记载了适用于我的方面。




原标题:用rownum先排序后分页

关键词:分页

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

游戏达到何种程度可以出海?:https://www.kjdsnews.com/a/1480665.html
深圳跨境电商卖家数量超15万;亚马逊PrimeDay或于7月举行:https://www.kjdsnews.com/a/1480666.html
如何轻松应对客户来访准备和商谈:https://www.kjdsnews.com/a/1480667.html
【动植物检疫】食品接触用竹木材料及制品标准你了解多少:https://www.kjdsnews.com/a/1480668.html
快手小店古钱币类目怎么开通?怎么报白?:https://www.kjdsnews.com/a/1480669.html
梅西能救淘宝直播吗?:https://www.kjdsnews.com/a/1480670.html
皇帝的皇宫=:https://www.vstour.cn/a/363188.html
海南岛琼海市旅游景点 琼海市的旅游景点:https://www.vstour.cn/a/363189.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流