假设你的表的排序字段是ID,如果不是自己替换掉就行,如果多列可以替换为。
ID1,ID2.....按顺序就行。
create proc fenye。
@x int,----第x页
@y int ----每页显示y条记录。
as
declare @sql nvarchar(max);。
begin
set @sql='
select * from (。
SELECT *,row_number()over(order by ID) as rm FROM Student )t。
where t.rm>$y$*($x$-1) and t.rm<=$y$*$x$'。
set @sql=replace(@sql,'$y$',@y);。
set @sql=replace(@sql,'$x$',@x);。
print(@sql);
exec sp_executesql @sql;。
end;
---exec fenye 5,20。
--显示第五页的数据,每页显示20条。
如果该班学生分为七人一组,那么可能有五组共41人或六组共48人;如果分为六人一组,那么可能有六组41人或七组47。综上所述,该班有41个学生。