这不是很简单:
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num>10 and ID_Num<=20

解决方案 »

  1.   

    或:
    exec('SELECT Top '+cast(@PageSize as varchar)+' * FROM T WHERE SortField NOT IN (SELECT TOP '+cast(@PageSize* @Pagei as varchar)+' SortField from T )')
      

  2.   

    pengdali(大力) ,你寫得這是什嗎意思???我看不明白,能不能説明一下!!
      

  3.   

    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 
    --------------------------------------^^^^^^^^^^建立一带记录号的临时表 你可以在后面加where
    select * from #temp where ID_Num>10 and ID_Num<=20
    --------------------------^^^^^^^^^^^^^^^^^^^^^^^选择你要的记录
    CREATE PROCEDURE dbo.up_pageview 
    (
    @int_pagenow int=0,             --分頁顯示的當前頁         
    @int_pagesize int=0,            --每頁顯示紀錄條數
    @int_magazineID int=0,          --一個查詢條件 
    @int_recordcount int=0 output   --就是得出表的紀錄總數。。)
    AS
    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 where 你的条件
    set @int_recordcount=(select count(*) from #temp)
    select * from #temp where ID_Num>@int_pagesize*(@int_pagenow-1) and ID_Num<=@int_pagesize*@int_pagenow
      

  4.   

    如果你有主键编号:
    CREATE PROCEDURE dbo.up_pageview 
    (
    @int_pagenow int=0,             --分頁顯示的當前頁         
    @int_pagesize int=0,            --每頁顯示紀錄條數
    @int_magazineID int=0,          --一個查詢條件 
    @int_recordcount int=0 output   --就是得出表的紀錄總數。。)
    AS
    set @int_recordcount=(select count(*) from #temp)
    exec('SELECT Top '+cast(@int_pagesize as varchar)+' * FROM 你的表 WHERE 你的条件 and 编号 NOT IN (SELECT TOP '+cast(@int_pagesize*@int_pagenow as varchar)+'
     编号 from 你的表 where 你的条件 )')
      

  5.   

    set @int_recordcount=(select count(*) from #temp)提眎錯誤:
    伺服器: 訊息 170,層級 15,狀態 1,程序 up_pageview,行 19
    第 19 行: 'cast' 附近有语法错误。
      

  6.   

    把exec()里面的语句 print 出来,放在查询分析器里运行、调试一下吧,
      

  7.   

    CREATE PROCEDURE dbo.up_pageview 
    (
    @int_pagenow int=0,             --分頁顯示的當前頁         
    @int_pagesize int=0,            --每頁顯示紀錄條數
    @int_magazineID int=0,          --一個查詢條件 
    @int_recordcount int=0 output   --就是得出表的紀錄總數。。)
    AS
    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 --where 你的条件
    select @int_recordcount=count(*) from #temp
    select * from #temp where ID_Num>@int_pagesize*(@int_pagenow-1) and ID_Num<=@int_pagesize*@int_pagenow
      

  8.   

    CREATE PROCEDURE dbo.up_pageview 
    (
    @int_pagenow int=0,             --分頁顯示的當前頁         
    @int_pagesize int=0,            --每頁顯示紀錄條數
    @int_magazineID int=0,          --一個查詢條件 
    @int_recordcount int=0 output   --就是得出表的紀錄總數。。)
    AS
    select @int_recordcount=count(*) from 你的表declare @SQLString varchar(8000)
    set @SQLString='SELECT Top '+cast(@int_pagesize as varchar)+' * FROM 你的表 WHERE 你的条件 and 编号 NOT IN (SELECT TOP '+cast(@int_pagesize*@int_pagenow as varchar)+'
     编号 from 你的表 where 你的条件 )'
    exec(@SQLString)