【发布时间】:2019-05-21 04:14:53
【问题描述】:
我有一个 ID 从 1 到 8 的表。我想要这样的东西
如果我在 4,我应该得到 3,5
如果我在 1,我应该得到 8,2
如果在 8,我应该得到 7, 1
基本上循环遍历表记录
这是我当前的代码
-- previous or last, if there is no previous
SELECT *
FROM news
WHERE id < 1 OR id = MAX(id)
ORDER BY id DESC
LIMIT 1
-- next or first, if there is no next
SELECT *
FROM news
WHERE id > 1 OR id = MIN(id)
ORDER BY id ASC
LIMIT 1
但它说组函数的使用无效。有什么帮助吗?
【问题讨论】:
-
您是在尝试创建函数、循环还是选择?向我们展示数据库架构、示例数据、当前和预期输出。请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。
-
我想要获取上一条和下一条记录。很简单。
-
如果您显示示例数据和预期输出会很简单。
-
假设我在表中只有 id 字段。这会有帮助吗?