select top 10 * from yourTable
where  indexid not in
(select top 10 indexid from yourTable)indexid 代表可以唯一標志一行記錄的字段

解决方案 »

  1.   

    select top 10 * from table where id not in(
       select top 10 id from table
    )
      

  2.   

    意思就是:
     如果你想查詢到 第n+1到n+10的記錄
     
     隻要查詢你要的top 10條記錄,且這10條記錄不在top n 中即可
      

  3.   

    本来就是主键,我想像效率如何更高!~我想肯定可以
    就以前VB里的Dao
    可以FindNext
      

  4.   

    select top 10 * from table where id>100
    没有什么办法优化了吧,最多把*写成字段名,看看这条要多少时间,select top 10 * from table where id not in(
       select top 10 id from table
    )
    再看看这条
      

  5.   

    select identity(1,1) as tid,*
    into ##yourTable
    from uTable
    where ........
    select  * from  ##yourTable 
    where tid between 11 and 20
      

  6.   

    不知道楼主的原先表中是否没有ID主键?
    可以这样:
     先執行:
    select identity(int) id0,* into #temp1 from tablename;然後取10條的語句為
    select top 10 * from tablename;
    或者
    select * from #temp where id0 <= 10取11到20條的語句為:
    select * from #temp where id0 >10 and id0 <= 20;以此類推......如果你在執行select identity(int) id0,* into #temp1 from tablename;這條語句的時候報錯。
    那是因為你的DB中間的select into/bulkcopy屬性沒有打開。
    要先執行:
    exec sp_dboption 你的DB名字,'select into/bulkcopy',true
    將其打開,再執行:
    select identity(int) id0,* into #temp1 from tablename;
    生成臨時表。
      

  7.   

    满足条件的第11--20条记录:select * from (select rownum r ,* from table) tt where tt.r > 10 and tt.r <= 20;
      

  8.   

    不必吧??按照你们说的,我每次都超时!!!拜托!能不能给点效率高的建议啊!我只是想实现
    FindNext 10

    FindPre 10
    功能啊
      

  9.   

    你将下列代码改为存储过程即可:
    exec('select identity(int,1,1) NumID,* into #temp from QY_HR..T_Talent where '+条件+';
    select * from #temp where NumID>'+页数*每页记录数-每页记录数+'and NumID<'+页数*每页记录数+';drop table #temp;')
      

  10.   

    强烈建议你做这样一个存储过程,用每一次数据集(N条记录)
    的第一条记录的ID(FirstNo)最后一条记录的ID(LastNo)
    根据你的要求取下一个数据集的FirstNo and LastNo
    (ExampleTable 为结果集,也可以是整个表)
    始终用下面Sql语句来取数据集
    select top n * from ExampleTable where Id >= :FirstNo
    动作(在StoreProcedure里实现)
    NextPage :
    select @LastNo = (select top 10 Id from ExampleTable where Id > LastNo )
    select @FirstNo = (select top 10 Id from ExampleTable where Id > LastNo order by Id desc)
    PrePage :
    select @LastNo = (select top 10 Id from ExampleTable where Id < FirstNo )
    select @FirstNo = (select top 10 Id from ExampleTable where Id < FirstNo order by Id desc)
      

  11.   

    我来练练:
    Select Top 10 * From tablename Where id not in (Select Top 20 id From tablename Order By id Desc) Order By id Desc;说明:子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列。其实上面我改动了一下,你可以参考一下csdn的文档中心,该文档的评论也是值得看一下的。
    地址是:http://www.csdn.net/Develop/Read_Article.asp?Id=15464
      

  12.   

    查询速度与查询语句中条件字段的长度关系大不大?
    关系不是非常的大(如果没有TEXT,IMAGE..字段),一般来说字段类型的影响会大一些.