今天在看一个分页算法的时候,遇到一个奇怪的问题,经过群内bq 的指点偶明白了。
select aa.*,aa.rn from
(select a.*,rownum rn from
(select * from hr_employee t where t.outdate is null order by 1) a
where rownum <20) aa
where aa.rn>10
(select a.*,rownum rn from
(select * from hr_employee t where t.outdate is null order by 1) a
where rownum <20) aa
where aa.rn>10
select a.*,rownum rn from
(select * from hr_employee t where t.outdate is null order by 1) a
where rownum >20
and rownum <10
这个2个语句的写法,如果按照正常思维肯定是第二个写法,恰恰就是这个错了,rownum不能直接使用> 不然取不出结果集。学习一下!
昨天咋看一个分页算法的时候一直很纳闷,为啥rownum那边不可以写大于呢。原来如此。