selecttop 页大小 * from table1 where id> (selectmax (id) from (selecttop ((页码-1)*页大小) id from table1 orderby id) as T )
CREATEprocedure GetLYZXNews @typeint, --文章类型 @Pgsint, --页大小 @Pgnint--页码,页码为0则为求总页数 as declare@strsqlvarchar(500) --执行的SQL语句 declare@ZongShuint--记录总数 declare@YeShuint--总页数 declare@strTmpint--临时变量 if@Pgn=0 begin select@ZongShu=count(*) from LYNews where type=@type if@ZongShu<=@Pgs begin if@ZongShu=0 begin set@YeShu=0 end else begin Set@YeShu=1 end end else begin set@strTmp=@ZongShu%@Pgs if@strTmp=0 begin set@YeShu=@ZongShu/@Pgs end else begin set@YeShu=@ZongShu/@Pgs+1 end end set@strsql="select "+str(@ZongShu)+" as ZongShu,"+str(@YeShu)+" as YeShu" end else begin if@Pgn=1 begin set@strsql="selecttop "+str(@Pgs)+" *from LyNews Where type="+str(@type)+" orderby postDate desc" end else begin set@strsql="selecttop "+str(@Pgs)+" *from LyNews Where type="+str(@type)+" and postDate<(selectmin(postDate) from " set@strsql=@strsql+"(selecttop "+str((@Pgn-1)*@Pgs)+" *from LyNews where type="+str(@type)+" orderby postdate desc)as t) orderby postDate desc" end end exec (@strSQL) GO