select top 1 ID from (select top a ID from tb where id<n order by id) t order by t.id desc

解决方案 »

  1.   

    :( 肯定不对,大个比方,我id的升序值排列是:1、3、10、11、12
    那么如果 n=5 ,只能列出前2个来 而我要前 5 个。
      

  2.   

    select max(ID) from (select top 5 ID from tb order by ID)
      

  3.   

    原来有这样的方法啊?可是对我没有用,我查询的值是用来分页用的,
    比如我用 select count(*) 方法 得到 共有 100条 记录,然后我每次从0开始+5条来分页。就是说,在一个记录中,已知它的排列方向和索引数(就是第几条记录),然后通过这个索引来映射出记录的值。
    打个比方,我想知道主键id 的第50条记录是多少?
      

  4.   

    不是你自己说的要“过滤id小于n的记录”吗?分页还是用DATAGRID自己的分页功能吧。