数据库分页
SQLSERVER
1: select top 10 * from A where id not in (select top 30 id from A)
2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
1: select top 10 * from A where id not in (select top 30 id from A)
2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
ORACLE
select * from (select rownum as num,Employee.* from Employee) where num between 11 and 20
select * from (select rownum as num,Employee.* from Employee) where num between 11 and 20
ORACLE 做分页似乎更简单
//oracle分页并且排序 需要三层子查询
select * from
(
select rownum as num,e.* from ((select * from emp order by emp.hiredate asc) e)
)
where num between 5 and 10
(
select rownum as num,e.* from ((select * from emp order by emp.hiredate asc) e)
)
where num between 5 and 10
先 order by 再分页 才得到正确的结果
浙公网安备 33010602011771号