OFFSET x ROW FETCH NEXT y ROWS ONLY;
使用OFFSET是SQLServer2012新具有的分页功能,主要功能是从第x条数据开始共取y数据。但是其必须跟在Order By 后面使用,语法简便。例如
select * from a Order by id Offset 0 Row Fetch Next 5 Rows Only.
写得清晰点就是:
<!-- 分页 -->
<select id="selectByPage" resultMap="BaseResultMap"
parameterType="java.util.Map">
select
<include refid="Base_Column_List" />
from newslist order by id desc
Offset #{startIdex} Row Fetch Next #{sizePage} Rows Only
</select>
startIndex,起始坐标
sizePage,每一页多少条
这种方式只适合SqlServer2012以及更高的版本,这种方法与lamda表达式的Skip().Take()原理差不多;另外,MySQL的Limit函数也是这么用的。