SQLstr = "Select Top "&DefRecordNum&" * From MyTable Where ID In (Select Top "&tmpSum&" ID From MyTable Group by ID Having ID>"&IdEnd&" Order By ID) Order By ID "

解决方案 »

  1.   


    楼上的答案是错的。
    为什么错比较复杂,我也一时说不清楚,主要是因为里面的Top "&DefRecordNum&" 和 Top "&tmpSum&" 造成的。DefRecordNum 和 tmpSum都是一个可变的整数,当将最后的order by id desc中的desc去掉后,结果就不是我想要的了。
      

  2.   

    你用order by id desc 
    那ID肯定是按降序排的
    怎么会得到你要的结果呢/
      

  3.   

    SQLstr = "Select Top "&DefRecordNum&" * From MyTable Where ID In (Select Top "&tmpSum&" ID From MyTable Group by ID Having ID>"&IdEnd&" )
    Order By ID "
      

  4.   

    不懂意思,如果按照上面所说.去掉desc应该就是对的
      

  5.   

    --我想,你会不会是这个意思:SQLstr = "select * from(Select Top "&DefRecordNum&" * From MyTable Where ID In (Select Top "&tmpSum&" ID From MyTable Group by ID Having ID>"&IdEnd&" Order By ID) Order By ID DESC)a order by id"
      

  6.   

    zjcxc(邹建) 的答案是对的,谢谢。可惜效率低了将近一倍,唉。真是鱼与熊掌不可兼得~~ 给分