今天想写一些分页查询,在网上翻了一下
对于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);