查询一个表的30到40之间的ID字段(该表的ID不是自增列,无序的)

解决方案 »

  1.   

    select top m * into 临时表(或表变量) from tablename order by columnname 
    set rowcount n
    select * from 表变量 order by columnname descselect top n * from 
    (select top m * from tablename order by columnname) a
    order by columnname desc
      

  2.   

    你总要有个 排序的吧SELECT * FROM 
    (SELECT ROW_NUMBER() OVER(ORDER BY ReferenceOrderID) AS RowNumber, * FROM Production.TransactionHistoryArchive) AS T
    WHERE T.RowNumber<=40 AND T.RowNumber>30;
      

  3.   

    问题描述不清,究竟是id的值在30至40之间的id?还是一个表在根据某列(比如id)排序之后的第30至40之间的id?还有,id字段本身的数据类型又是什么?
      

  4.   

    排序以后应该就是前10条信息了吧最后改为T.RowNumber<=10?
      

  5.   

    查询ID字段(int)返回这张表的第30行与第40行之间的数据