SQL中的分页方法:
查询第X页,每页Y条记录最基本的处理方法:如果表中有主键(记录不重复的字段也可以),可以用类似下面的方法,当然y,(x-1)*y要换成具体的数字,不能用变量:select top y * from 表 where 主键 not in(select top (x-1)*y 主键 from 表)如果表中无主键,可以用临时表,加标识字段解决.这里的x,y可以用变量.select id=identity(int,1,1),*  into #tb from 表
select * from #tb where id between (x-1)*y and x*y-1

解决方案 »

  1.   

    /*--分页方法:回复人: j9988(j9988) 
    --*/
    declare @sqlstr nvarchar(4000), --查询字符串
    @pagecount int, --第N页
    @pagesize int --每页行数select @pagecount=3,@pagesize=10
    ,@sqlstr='select * from sysobjects'set nocount on
    declare @P1 int, --P1是游标的id
    @rowcount intexec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
    select @rowcount as 总行数,ceiling(1.0*@rowcount/@pagesize) as 页数,@pagecount as 当前页
    set @pagecount=(@pagecount-1)*@pagesize+1
    exec sp_cursorfetch @P1,16,@pagecount,@pagesize 
    exec sp_cursorclose @P1