对于一个模糊的标题感到抱歉,但如果我知道如何用英语表达这个 - 会用谷歌:)所以这就是问题所在:假设我们有一个问题:
SELECT A.*, B.* FROM ... JOIN ... ORDER BY WHATEVER
我基本上需要做的是将此结果集缩小到具有特定 A.id +一些相邻记录的记录。
例如,如果我们的结果集返回A.id =
1, 2, 3, (4, 5, 6, [7], 8, 9, 10), 11, 12
我基本上需要(括号)中的部分,包括目标记录[7]。
由于可能涉及简单或复杂的查询且排序可能不同,我不能只说“给我记录ID> = 4和id< = 10”所以我需要某种更复杂的解决方案
一个(也许)更清晰,更现实的例子:
答案 0 :(得分:0)
您可以这样做:
select t.*
from table t join
(<your query here>) recs
on t.id between recs.id - 3 and recs.id + 3;