请问是哪里不明白,
其实我问的简单点就是取下一条,
难在加排序并且数据无规律,还要注意重复记录的存在
比如
tablename:test  
id    pos  name  
1      5        a  
2      2        c  
3      4        b  
4      3        d  
5      4        a那么id=3 排序为pos的时候
下一条可能就是
5   4   a 

解决方案 »

  1.   

    一下按pos排序,一下又按name 來排序
    到底按哪一個來排?
      

  2.   

    这是两个例子,是或者的关系
    意思是说解答应该是可以随意更换排序字段的
    所以所以查询中应该不要使用排序字段 >  <  来比较,
      

  3.   

    declare @test table (id int, pos int, name char(1))
    insert @test
    select 1, 5, 'a'
    union all select 2, 2, 'c'
    union all select 3, 4, 'b'
    union all select 4, 3, 'd'select top 1 a.* from @test a, @test b where b.id = 3 and a.pos >= b.pos and a.id <> b.id order by a.pos
    -- 1 5 aselect top 1 a.* from @test a, @test b where b.id = 3 and a.name >= b.name and a.id <> b.id order by a.name
    -- 2 2 c下一条解决了,上一条怎么找,不用我说了吧。
      

  4.   

    OK ,不错,我就没想到用>=
    只想到用> <去了,呵呵~先不结贴,希望有不同思路的写法。