【发布时间】:2015-05-13 19:55:38
【问题描述】:
抱歉,标题含糊不清,但如果我知道如何用英语表达这个 - 会使用 google :) 所以问题来了:假设我们有一个查询:
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
一个(也许)更清晰和现实的例子:
- 每页列出 50 张照片
- 提供排序和过滤功能
- 当您点击任何页面上的照片时,应该有一个带有其他照片的导航,该导航将在带有所选过滤器的“分页”中围绕所点击的照片进行
- 过滤器是会话存储的,所以在这里它们不是问题
【问题讨论】:
-
你如何定义多一点和少一点?
-
SELECT * FROM (SELECT * FROM x WHERE z >= n ORDER BY z) 一个 UNION (SELECT WHERE z
-
@Strawberry 我认为这可能行得通!将其移至答案,我会接受它
-
@BillGregg 我认为这与分页无关。它更像是提取分页结果集的一部分