select top 10 * from Orders where OrderID not in(select top 10 OrderID from Orders)
select top 10 * from Orders where OrderID not in(select top 20 OrderID from Orders)
select top 10 * from Orders where OrderID not in(select top 30 OrderID from Orders)我想用上面的这段代码来实现分页,但是上面的3条语句却返回一样的结果,这是为什么呢?

解决方案 »

  1.   

    order by 下吧,你这样是没有规则的取
      

  2.   

    加上order by 吧。具体我也搞不清是为什么
      

  3.   

    select top 10 * from Orders where OrderID not in(select top 10 OrderID from Orders) order by OrderID ASC
    select top 10 * from Orders where OrderID not in(select top 20 OrderID from Orders) order by OrderID ASC
    select top 10 * from Orders where OrderID not in(select top 30 OrderID from Orders) order by OrderID ASC
    结果还是一样,请教各位,是那里出了错
      

  4.   

    我写段实现方法的伪代码,助楼主一看int i, j;
    其中i为每页需要显示的数目,j的2取值范围为:0, i, 2i, 3i, 4i, …… ;select top i * from CateGories 
    where CateGoryID not in( select top j CateGoryID from CateGories  )
      

  5.   

    我知道了 
    这样就好了的
    select top 10 * from Orders where OrderID not in(select top 10 OrderID from Orders order by OrderID asc)
    select top 10 * from Orders where OrderID not in(select top 20 OrderID from Orders order by OrderID asc) 
    select top 10 * from Orders where OrderID not in(select top 30 OrderID from Orders order by OrderID asc)