ORACLE中用rownum分頁並排序的SQL語句

2021-08-30 05:18:14 字數 469 閱讀 8892

以前分頁習慣用這樣的sql語句:

select * from

(select t.*,rownum row_num from mytable t

order by t.id) b

where b.row_num between 1 and 10

結果發現由於該語句會先生成rownum 後執行order by 子句,因而排序結果根本不對,後來在google上搜到一篇文章

,原來多套一層select 就能很好的解決該問題,特此記錄,語句如下:

select * from

(select a.*,rownum row_num from

(select * from mytable t order by t.id desc) a

) b where b.row_num between 1 and 10

Oracle中用rownum替代Top函式的方法

今天寫乙個方法,主要功能是從資料庫中根據條件查出第一條資訊。以前用sql server的時候,我記得top方法還是非常簡單實用的。方法是 select top n 列名 from 表名 where 查詢條件 這個方法想必像我這樣的新人也會非常熟悉,所以就不做解釋了。今天用的資料庫是oracle。其使...

ORACLE中用rownum分頁並排序的SQL語句

第一種 select b.from select a.rownum row num from select t.from a05 organization t order by org name en asc a bwhere b.row num between 1 and 5 order by b...

Oracle中使用偽列rownum實現分頁查詢

rownum是查詢返回的結果集中行的序號,可以使用它來限制查詢返回的行數 select from select from emp order by sal desc where rownum 3 結果如下 如果這樣寫 select from select from emp order by sal ...