我想这样选择记录:按给定条件选择指定条数的记录,比如要得到第20条记录后的10条记录,这个语句该怎么写。

解决方案 »

  1.   

    假設ID是排序字段Select TOP 10 * from TableName 
    Where ID Not In (Select TOP 20 ID from TableName Order By ID)
      

  2.   

    楼上正解
    Select TOP 10 * from TableName 
    Where ID Not In (Select TOP 20 ID from TableName Order By ID)
    Order By ID
      

  3.   

    create procedure AA (@id int ,@end int)
    as 
    select  * from A where id between @id and @id+@end 
    goexec  AA 20,10
      

  4.   

    to yuweiwei(YWW(杨思)) 
    你的方法有弊端哦:)当该范围内的ID不是连贯的时候..
      

  5.   

    select top 30 * from tb where id not in (select top 20 * from tb)
      

  6.   

    select top 10 * from tb where id >20
      

  7.   

    to yuweiwei(YWW(杨思)) to CnEve(龙哥哥) :(你的方法有弊端哦:)当该范围内的ID不是连贯的时候..
    那就给它加一个连贯的IDD就OK了create procedure AA (@id int ,@end int)
    as
    select *,idd=identity(int,0,1) into #i from A
    select  * from #i where idd between @id and @id+@end 
    goexec  AA 20,10
      

  8.   

    Select top 10 * from TableName a
    Where  not exists (select * from (Select TOP 20 reco_no1 from TableName   Order By Id) b where b.Id = a.Id )