请问是哪里不明白,
其实我问的简单点就是取下一条,
难在加排序并且数据无规律,还要注意重复记录的存在
比如
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
了
其实我问的简单点就是取下一条,
难在加排序并且数据无规律,还要注意重复记录的存在
比如
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
了
到底按哪一個來排?
意思是说解答应该是可以随意更换排序字段的
所以所以查询中应该不要使用排序字段 > < 来比较,
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下一条解决了,上一条怎么找,不用我说了吧。
只想到用> <去了,呵呵~先不结贴,希望有不同思路的写法。