--1:無order by排序的寫法。(效率最高)
--(經過測試,此方法成本最低,只巢狀一層,速度最快!即使查詢的資料量再大,也幾乎不受影響,速度依然!)
select
* from
(select
rownum
as rowno, t
.* from
emp t
where
hire_date
between
to_date
('20060501'
, 'yyyymmdd'
) and
to_date
('20060731'
, 'yyyymmdd'
) and
rownum
<=
20)table_alias
where
table_alias
.rowno
>=
10;--2:有order by排序的寫法。(效率最高)
--(經過測試,此方法隨著查詢範圍的擴大,速度也會越來越慢哦!)
select
* from
(select
tt.*,
rownum
as rowno
from
( select t
.* from
emp t
where
hire_date
between
to_date
('20060501'
, 'yyyymmdd'
) and
to_date
('20060731'
, 'yyyymmdd'
) order
by create_time
desc,
emp_no
) tt
where
rownum
<=
20)table_alias
where
table_alias
.rowno
>=
10;
oracle 排序分頁 高效sql語句
最好還是利用分析函式row number over partition by col1 order by col2 比如想取出100 150條記錄,按照tname排序 select tname,tabtype from select tname,tabtype,row number over ord...
Oracle 高效分頁
分頁 select from t user5 select count 1 from t user5 10,485,760 rownum是乙個查詢後的結果,查詢之前是不存在的 select rownum,rowid,tt.from t user5 tt where rownum 3 and 1 an...
oracle 分頁語句
1.根據rowid來分 select from t xiaoxi where rowid in select rid from select rownum rn,rid from select rowid rid,cid from t xiaoxi order by cid desc where r...