读取第二次 select * from ( select * from table1 order by CreateDate ) where rownum <= 20000 and rownum > 10000; 这样不正确. select * from(select rownum id,table1.* from ( select * from table1 order by CreateDate ) where rownum <= 20000) where id > 10000; 以前讨论过这个问题,这样比minus要快的多.
写错了一个词, select * from(select rownum id,table1.* from ( select * from table1 order by CreateDate ) where id <= 20000) where id > 10000;
同意bzszp(SongZip),查查以前的帖子,好象今天的就有专门讨论这个的。
SQL> select * from a1 order by bbb desc;BBB ---------- 105 104 103 102 101 jlandzpa的好像有问题,排序后的rownum号也变化了. SQL> select rownum id,a1.* from a1 order by bbb desc; ID BBB --------- ---------- 5 105 4 104 3 103 2 102 1 101SQL> select * from(select rownum id,a.* from (select * from a1 order by bbb desc) a 2 where rownum<5) where id>2; ID BBB --------- ---------- 3 103 4 102导致结果不正确.
select * from ( select * from table1 order by CreateDate ) where rownum <= 20000 and rownum > 10000;
这样不正确.
select * from(select rownum id,table1.* from ( select * from table1 order by CreateDate ) where rownum <= 20000) where id > 10000;
以前讨论过这个问题,这样比minus要快的多.
select * from(select rownum id,table1.* from ( select * from table1 order by CreateDate ) where id <= 20000) where id > 10000;
----------
105
104
103
102
101 jlandzpa的好像有问题,排序后的rownum号也变化了.
SQL> select rownum id,a1.* from a1 order by bbb desc; ID BBB
--------- ----------
5 105
4 104
3 103
2 102
1 101SQL> select * from(select rownum id,a.* from (select * from a1 order by bbb desc) a
2 where rownum<5) where id>2; ID BBB
--------- ----------
3 103
4 102导致结果不正确.