首先,我们先回顾一下小学的一级运算和二级运算吧。(这个算法是无极限的哦,哈哈哈)
第一:先创建一个T表格
select tempRow=0,CATEGORY,[DLVQW2] from [TEST].[dbo].[TestResult] //生成一个t表格,生成一个字段并且进行赋值t表格,生成一个字段并且进行赋值
第二:运用 row_number() over( [partition by col1] order by col2[desc]) 。
row_number() 为返回的记录定义各行编号
pritition by 分组
order by 排序
第三:创建存储过程
注意公式:先乘除后加减。先算括号里面,再算括号外面。哈哈哈。
create proc RowCountpage
(
@pageIndex int, --当页码数
@pageSize int --每页条数
)
as
begin
select * from (select ROW_NUMBER() Over(order by tempRow desc) tempRowCount,CATEGORY,[DLVQW2] from (select tempRow=0,CATEGORY,[DLVQW2] from [TEST].[dbo].[TestResult])t)tt
where tempRowCount between (@PageIndex-1)*@PageSize+1 and @PageIndex*@PageSize
end
第四:查询存储过程:
RowCountpage 0,10
go
RowCountpage 1,10
go
RowCountpage 2,10
go
最后吧,你能你把我的代码看懂了。但是我建议你看懂了自己敲一遍。实践是检验真理的唯一标准。
我爱编程,编程使我快乐。