服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - sqlserver分页的两种写法分别介绍

sqlserver分页的两种写法分别介绍

2019-12-25 14:52MSSQL教程网 Sql Server

本文将介绍sql server传统的写法与SQL Server2005以后的分页语句需要了解的朋友可以参考下

第一种是最传统的写法,用存储过程中的变量作为分页的乘数 

复制代码代码如下:


[c-sharp] view plaincopyprint?create proc p_paged1 
@pageSize int,@currentPage int 
as 
select top (@pageSize) * from student 
where id not in 
(select top (@pageSize*(@currentPage-1)) id from student) 
go 
exec p_paged1 2,3 
create proc p_paged1 
@pageSize int,@currentPage int 
as 
select top (@pageSize) * from student 
where id not in 
(select top (@pageSize*(@currentPage-1)) id from student) 
go 
exec p_paged1 2,3 


--SQL Server2005以后的分页语句 

复制代码代码如下:


[c-sharp] view plaincopyprint?create proc p_paged2 
@pageStart int, @pageEnd int 
as 
select * from 
(select *,row_number() over(order by id desc) as rnum 
from student) t 
where t.rnum between @pageStart and @pageEnd 
go 

exec p_paged2 5,10 

延伸 · 阅读

精彩推荐