select top 页大小 *
from table1 
where id not in
(select top ((页码-1)*页大小) id from table1 order by id) 
order by id

解决方案 »

  1.   

    但作者说>比in效率要高
    所以我还是想用>
      

  2.   

    TOP 后面的数字,不能动态生成要先把它算好了再替进去
      

  3.   

    select top 页大小 *
    from table1 
    where id>
    ISNULL((select max (id) from 
    (select top ((页码-1)*页大小) id from table1 order by id) as T
    ),-1)
      

  4.   

    (select max (id) from 
    (select top ((页码-1)*页大小) id from table1 order by id) as T
    )第一页返回NULL
    也可以:
    select top 页大小 *
    from table1 
    where id>=
    (select max (id) from 
    (select top ((页码-1)*页大小)+1 id from table1 order by id) as T

    order by id
      

  5.   

    我看了一下
    第一页直接用top
    还有
    究竟id>=和not in哪个更好呢
      

  6.   

    id>= 当然比NOT IN 效率高了
      

  7.   

    楼上的第一条显示不出来了
    ------------------------
    select top 页大小 *
    from table1 
    where id>=
    (select max (id) from 
    (select top ((页码-1)*页大小)+1 id from table1 order by id) as T

    order by id
    这个也不行?
      

  8.   

    楼上的是啊
    从第二条开始读了
    (select max (id) from 
    (select top ((页码-1)*页大小)+1 id from table1 order by id) as T
    )
    因为这个就是第一条
    id>=第一条
    所以从第二条开始了