我有一个名为“ posts
”的表,该表中有一列为“ post_id
”(与c的其他列很长)。
如何通过“ post_id
”从表中选择下一行(或上一行)?
假设我当前的“ post_id
”为15。现在,我需要选择满足某些条件的下一行,因此需要放置一些where子句。
我很无法解释我的感受。我正在寻找这样的东西:
SELECT (next row) FROM posts WHERE post_draft=0 && post_approved=1
有人可以帮我吗?
最佳答案
关系数据库系统没有“下一行”或“上一行”的概念。那是因为在这样的数据库中没有自然的条目顺序。因此,“下一个”和“上一个”的术语并没有真正定义。
但是,您可以实现一个查询,该查询可以提供您要查找的内容:
SELECT *
FROM posts
WHERE post_id>15
AND post_draft=0
AND post_approved=1
ORDER BY post_id ASC
LIMIT 1;
因此,如果您具有当前的
post_id
,则可以根据给定的结果集顺序轻松选择“下一个”条目。对于“上一个”条目显然也可以这样做。关于php - MySQL:如何从数据库中选择下一行或上一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41825211/