你要100-200的记录的吗?select top 100 * from table where id not (select top 99 id from tabel)ID为表中任何一个具有唯一性的字段

解决方案 »

  1.   

    用top关键字可以实现取查询结果的前n条  
    如果我要从第11条记录起,取查询结果的10条,即是说取11-20条记录  
    这个查询又怎么写呢?谢谢  
    ---------------------------------------------------------------  
     
    select  itendity(int,1,1)  as  id,  *  into  newtable  from  youtable    
    go  
    select  *  from  newtable  where  id    >=  11  and  id    <=  20  
    该方法不太实用,耗时多,效率低,而且如果原表中有identity列就不行了  
    ---------------------------------------------------------------  
     
    找到一个字段用来排序,  
    select  top  10  from    
    (select  top  20  *  from  T  order  by  f)  T1  
    order  by  f  desc  
    该方法比较巧妙,对于排序的情况很实用  
    ---------------------------------------------------------------  
     
    排序的结果有了变化,如保持原样,有一唯一的ID  
     
    可以这样10~~20  
     
    select  top  10  *  from  t1    
    where  ID  not  in  (select  top  10  ID  from  t1)  
    -------------------------------  
    MySql中可以在select语句中用limit关键字来选取中间结果,看来  
    在MsSql中要花点功夫才行
    摘自:http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=3541