Oracle和MySQL的分页查询

一,Oracle的分页查询

此分页语句,以Oracle中EMP表为例,查询第6条到第10条的数据

select * from                       --第三层限制最小值 
     ( select A.*,ROWNUM rn from    --第二层通过ROWNUM限制最大值
             (select * from emp) A  --第一层查询要分页的所有数据
       where ROWNUM<=10 ) 
 where rn>5;

通用格式:

select * from                       --第三层限制最小值 
     ( select A.*,ROWNUM rn from    --第二层通过ROWNUM限制最大值
             (select * from emp) A  --第一层查询要分页的所有数据
       where ROWNUM<=currentPage*size ) 
 where rn>(currentPage-1)*size;

注意

  • ROWNUM是伪列,总是从1开始,只能使用<=,而不能使用>=,所以在第二层要给其起个别名,变成逻辑列比较
  • currentPage表示当前页
  • size表示每页要显示的记录数

二,MySQL的分页查询

假装mysql中有emp表~~~~~

select * from emp limit 5,10

通用格式:

select * from emp limit (currentPage-1)*size,size

注意:mysql分页的两个参数,记得和oracle做区分

猜你喜欢

转载自blog.csdn.net/aq_112700/article/details/82854858