Oracle不支持LIMIT字段,通过ROWNUM实现数据库分页

本文介绍如何使用ROWNUM在ORACLE中实现数据分页,通过具体SQL语句展示了如何获取特定页数的数据记录,同时对比了MySQL的LIMIT字段在分页上的差异。

由于LIMIT字段是MySQL用来分页显示数据的,所以今天就用ROWNUM来实现ORACLE分页,这里值得强调的是:ROWNUM不支持大于号(>),所以在进行数据区间查询时,需要嵌套。

如每页展示10条数据记录,若要显示第二页的数据,则SQL语句如下:

SELECT * FROM (SELECT ROWNUM rn,t.* FROM TEST_USER_INFO t WHERE ROWNUM < 20 ) n WHERE n.rn > 10

自己写了一段联表查询,再进行分页,深刻体会到MySQL的轻量级的好处了。。。

SELECT* FROM (SELECT ROWNUM rn,t.* FROM (SELECT DISTINCT a.USER_ID,a.EMPLOYEE_NAME,a.USER_LOGIN_NAME,a.MOBILE_PHONE,a.AREAID,a.COUNTYID
        FROM V_USER_INFO a
        LEFT JOIN AI_SYS_USER_2_ROLE b ON a.USER_ID=b.USER_ID AND b.DATA_STATUS='1'
        LEFT JOIN AI_SYS_ROLE c ON b.ROLE_ID = c.ROLE_ID AND c.ROLE_STATUS='1' WHERE c.ROLE_LEVEL NOT IN ('01','02','03') AND a.AREAID = 'B' ORDER BY a.USER_ID ASC) t WHERE ROWNUM <= 10) n WHERE n.rn > 5

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值