oracle先排序再分頁


只做簡單記錄

 

按操作時間排序1

SELECT A.*, ROWNUM RN FROM (SELECT * FROM v_log) A ORDER BY operatetime DESC 

結果

可以發現,按時間排序了,但是rownum並不是從小到大,因為oracle是先生成rownum,再進行排序,需要在套一層查詢

 

 

按操作時間排序2

    SELECT T.*, rownum RN FROM(
      SELECT * FROM (SELECT * FROM v_log) ORDER BY operatetime DESC 
    ) T

結果

順序正確,rownum正確,在此基礎上再套一層查詢進行分頁

 

 

按操作時間排序並分頁

SELECT T2.* from(    
SELECT T.*, rownum RN FROM(
SELECT * FROM (SELECT * FROM v_log) ORDER BY operatetime DESC 
)T) T2 WHERE RN BETWEEN 1 and 10

結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM