MSSQL SQL SERVER 2008 使用RowNumber()分頁查詢並獲取總行數 附達夢數據庫


參數:
pages:要查詢的頁碼(要查詢第幾頁);
pageNum:要查詢的行數(每頁要查多少行);

適用於使用多表查詢,不以固定的實體類保存結果,
如使用
List<Map<String, Object>> 
 
        
 1 SELECT 
 2     * 
 3 FROM 
 4     (
 5         SELECT 
 6             COUNT(1) OVER() AS COUNT,  --總行數
 7             ROW_NUMBER() OVER (ORDER BY studentId) 
 8                 AS rowId, --序號
 9             * 
10         FORM
11             Student
12         WHERE 1=1   --查詢條件
13     )  
14 WHERE  
15     rowId
16         BETWEEN  -- 分頁
17            ( ( ( #{pages} -1) * #{pageNum}) + 1)
18         AND (#{pages} * #{pageNum});       

在2008 版本可用,

達夢數據庫也可用。

主表6000行左右、連接3個外表

  每行查詢12個字段約90個字符

  20行查詢第一次:

 

第二次:

第三次:

 

 

 

 

 500行查詢第一次:

 

第二次:

 

 

第三次(末頁;結果總共為:368行):

 

 

 

 

 


免責聲明!

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



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