要此功能自然是为了提高速度,不知道如何实现此功能?select top 10 * from aaaa这是读取前10行,即有结束行数,但没有起始行数,不知道有没有此功能,即返回的数据是从第20行开始。当然数据库内部的查询肯定还是要从头开始查的,这个不管它!

解决方案 »

  1.   

    select top * 10 
    from 
    (select top * 20 from table order by id) table T
    order by id DESC
      

  2.   

    SQL Server未提供直接查询10--20条数据的方法,只能变通来处理,表中需要有排序的字段,如:IDselect top 10 * 
    from (select top 20 * from 表名 order by id) tp
    order by id desc
      

  3.   

    -- sql 2005
    SELECT * FROM(
       SELECT *, rowid = ROW_NUMBER() OVER(ORDER BY 1)
       FROM tb
    )A
    WHERE rowid between 10 and 20
      

  4.   

    select top 10 * from 表名 where 主键 not in(select top 10 主键 from 表名) order by 主键
      

  5.   

    如果用C#,可以用DataSet.Tables["tablename"].Rows[行号][列号]做循环返回你想要的行和列
      

  6.   

    to zjcxc(邹建)
    请问下sql2000可以么。能解释下rowid = ROW_NUMBER() OVER(ORDER BY 1)