我需要通过循环创建上一个/下一个功能。我当前的解决方案,如果我选择MAX(ID)
给出 next as NULL
。
我怎样才能最有效地得到 MIN(ID)
而不是NULL
(反之亦然)。当然,IF
如果我的结果是,我可以使用或只创建第二个查询NULL
,但我想知道是否有更好的解决方案。
我的表有三列
前任:
ID foto like
3 A 0
4 B 0
5 C 0
10 D 0
如果我选择 ID 4 next is 5, prev is 3 //this solution I have
对于 ID 3,下一个是 4,上一个是 10 //这就是我想要的
对于上一个/下一个我使用这个查询
(
SELECT MIN(`ID`) AS id
FROM fotos
WHERE `ID` > '$this->id'
ORDER BY `like` DESC
)
UNION
(
SELECT MAX(`ID`) AS id
FROM fotos
WHERE `ID` < '$this->id'
ORDER BY `like` DESC
)
$this->id
实际被选中并显示 foto