直接:
select  top 10 * from table1 where ID between @Number1 and @Number2
不是简单点吗?
不应该很慢的!

解决方案 »

  1.   

    不明白阿
    select  @ID=ID top 10 from table1 where ID between @Number1 and @Number2
    什么意思阿??
    一个变量能保存10个数????
      

  2.   

    请问:
       估计以上的查询环境查询10条记录
    约多少时间?
    Server:
      PIII 1.4G Double SCSI 40 Hard Disk
    256M memory
      

  3.   

    select a.* 
    from table1 a ,(select top 10 id from table1 where ID between @Number1 and @Number2)b
    where a.id=b.id
      

  4.   

    >>>
    select  @ID=ID top 10 from table1 where ID between @Number1 and @Number2這條語句我怎麼看都是錯誤。
    select  top 10  @ID=ID  from table1 where ID between @Number1 and @Number2
    這樣才正確. 但看清了,這里是TOP 10, 而且ID上有Pirmary Key(意有Cluster index),且假設排序是ASC的話,那麼,這里得出來的@ID值就一定等於@Number2!!!>>>
    然后,再用select * from table1 where ID=@ID 何苦這樣來著!用SELECT * FROM table1 WHERE ID=@Number2不來得更快?
      

  5.   

    飘香兄:
    严谨!!!
    但是:"這里得出來的@ID值就一定等於@Number2!!!"???
    如果"ID"中没有"@Number2"呢?
    请指教!
      

  6.   

    有道理。總之返回來的ID就是最後一筆記錄的ID(這里因為有Cluster index,所以邏輯上是有最後一筆的),即用Top 10子句限定返回的最後一筆資料。