mssql是怎么查询读取第20-30条的?
top 10 只能查询到前10.。。
那怎么读取指定的记录??比如读取20-30,或者20-35.。。ID没有规律,按时间排序。

解决方案 »

  1.   

    如果有主键是可以的select top 10 * from tb where id not in
    (select top 20 id from tb )
      

  2.   

    1楼正解!select   top   记录数 ID,field1,field2,....... FROM TableName WHERE 查询条件and ID   not   in(select   top N ID   FROM TableName WHERE 查询条件) 记录数:每次查询要显示的记录个数.
    ID:主键.
    field:查询时要显示的字段.
    TableName:表名.
    N:N=((页数-1)*记录数)这是一个
     
      

  3.   

    如果是sql2005或者更高版本这个效率更高:
    select * from (select *,row_number() over( order by id asc) as row from tablename) as a where row between 40 and 80
    但是一般用1L方法的较多呵呵