我有一个名为“ 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/

10-16 07:37