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