关于数据库分页查询

来源:互联网 发布:哥特穿衣 知乎 编辑:程序博客网 时间:2024/05/03 15:26

今天想写一些分页查询,在网上翻了一下

对于SQLServer 的分页查询语句

拿emp表来说吧

总共有14条数据

每页显示3条 查询第3页的数据

select top 3  * from emp   where e.empno not in(select top 6 empno  from emp e); 

 

对于oracle没有top关键字 使用rownum进行分页

拿emp表来说吧

总共有14条数据

每页显示3条 查询第3页的数据

 

select *  from (select rownum rn ,e.* from emp where rownum <=9) a where a.rn>6;

 

设有4个变量分别是pageSize(每页显示记录数),countPage(总共有几页),rowCount(总共记录条数),pageNow(当前页码)

SQLSERVER

select top pageSize * from table_name where table_name.attribute not in (select top pageSize*(pageNow-1)  table_name.attribute from table_name);

oracle

select * from (select rownum rn ,t.* from table_name t where rownum <=pageSize*(pageNow))a where a.rn>pageSize*(pageNow-1);