数据库分页查询
是指根据设定页数的条件下从表中获取N条数据,例如我当前的展示表为每页N条数据,然后我想获取数据表中第一页的N条数据,那么对应数据表中的数据范围是第0条到第N条,如果想获取数据表中第二页的N条数据,那么对应数据表中的数据范围是第1*N条到第2*N条(即第N条开始往后的N条数据)。
MySQL
根据此表来查询指定量的数据,设定我当前展示表为每页3条数据,当我想获取第1页的3条数据
select * from mytable02 limit 0,3 ;
当我想获取第2页的3条数据
select * from mytable02 limit 3,3 ;
Oracle
相比于MySQL,Oracle的分页就比较复杂一点
当我想获取第1页的3条数据
select t.* from (select ROWNUM sn,s.* from STUDENT s where ROWNUM <=6)t where sn >=0 ;
当我想获取第2页的3条数据
select t.* from (select ROWNUM sn,s.* from STUDENT s where ROWNUM <=6)t where sn >3 ;
注意:在Oracle数据库中进行分页查询时,如果排序条件所对应的字段值有大量重复或为空时,则可能会出现分页数据重复的情况。如果要避免出现分页数据重复的情况,则一定要在排序时加上唯一值字段为排序条件。