您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> 数据库综合 >> 正文

有关sqlserver分页的两种写法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

本文是一篇关于sqlserver分页的两种写法的文章,它主要介绍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 。

以上就是精品为大家提供有关sqlserver分页的两种写法的文章,希望对大家有所帮助。