Sql Server 常见的几种分页方式

⒈offset fetch next方式【SqlServer2012及以上版本支持】【推荐】

1 select * from T_User
2 order by id
3 offset 5 rows            /*(页数-1) * 条数 */    
4 fetch next 5 rows only    /* 条数 */

⒉row_number() over()方式

1 select * from 
2 (select *,row_number() over(order by id) as orderId from T_User) as t
3 where t.orderId between 11 and 15
4 /* (页数-1)* 条数 + 1 */
5 /* 页数 * 条数 */

 ⒊top not in方式【适用于SqlServer2012以下版本】

1 select top 5 * from T_User
2 where id not in (select top 10 id from T_User)
3 
4 /* top 条数 */
5 /* top 条数 * 页数 */

猜你喜欢

转载自www.cnblogs.com/fanqisoft/p/10901646.html