MSSQL SQL SERVER 2008 使用RowNumber()分页查询并获取总行数 附达梦数据库
Posted on 2021-11-08 18:04 KK者 阅读(1298) 评论(0) 收藏 举报参数:
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行):

浙公网安备 33010602011771号