select   *   from   a     
  where  id not in(select   top   65536   *   from   a   order   by   id)   
  order   by   id不知道效率啊,测试一下吧~~
如果有可能的话,可以改变查询的思路

解决方案 »

  1.   

    如果是sql2005,可以使用row_number()
    如果是sql2000,使用下面的SELECT * FROM vip 
    WHERE vip_code>
    (SELECT MAX(vip_code) FROM (SELECT TOP 65536 vip_code FROM vip ORDER BY vip_code ASC)a)
      

  2.   

    select a.* from vip a
    left join 
    (select top 65536 vip_code from vip order by vip_code) b
    on a.vip_code=b.vip_code
    where b.vip_code is null
      

  3.   

    select * from vip
    where vip_code>(select max(vip_code) from
    (select top 65536 vip_code from tb order by vip_code) x)
      

  4.   

    vip_code字段是不连续的10位数的卡号。
      

  5.   

    这个没有比较和连接运算,效率应该还可以declare @i int
    select @i=count(*)-100 from vip
    exec('select * from (select top '+@i+' * from vip  order by vip_code desc) a order by vip_code asc')
      

  6.   

    select * from a           
        where id not in(select top 65536 * from a order by id)       
        order by id 不知道效率啊,测试一下吧~~ 
    如果有可能的话,可以改变查询的思路如果改为:
    select * from a           
        where id not in(select top 65536 id from a order by id)       
        order by id 
    效率是不是高一些?