【发布时间】:2008-12-29 16:54:52
【问题描述】:
以前很可能有人问过这样的问题,但我想不出要搜索的字词。
我正在开发一个照片库应用程序,并希望显示 9 个缩略图来显示当前照片的上下文(在 3x3 网格中,当前照片位于中心,除非当前照片位于前 4正在显示的照片,在这种情况下,例如,如果当前照片是第二张我想选择照片 1 到 9)。例如,给定一个包含带有 id 的照片列表的相册:
1、5、9、12、13、18、19、20、21、22、23、25、26
如果当前照片是 19 岁,我还想查看:
9、12、13、18、19、20、21、22、23
如果当前照片是5,我还想查看:
1、5、9、12、13、18、19、20、21
我一直在想一些类似的事情:
SELECT *
FROM photos
WHERE ABS(id - currentphoto) < 5
ORDER BY id ASC
LIMIT 25
但这不适用于 id 不连续的情况(如上面的示例),或者当前照片之前的照片不足的情况。
有什么想法吗?
谢谢,
Dom
附言如果有任何不清楚的地方,请发表评论,我会澄清这个问题。如果有人能想到一个更有用的标题来帮助其他人将来找到这个问题,那么也请发表评论。
【问题讨论】: