SQL – 找到给定特定WHERE子句的下一行和前一行

前端之家收集整理的这篇文章主要介绍了SQL – 找到给定特定WHERE子句的下一行和前一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为bb_posts的 MySQL表,由bbPress论坛使用.它有一个称为topid_id的自动增量字段,另一个名为topic_poster的字段.

我试图写一个功能,找到“同一作者的下一篇文章”.因此,例如,说用户位于显示主题123的特定页面上.如果您执行SQL查询

SELECT *
FROM `bb_topics`
WHERE `topic_poster` = 5
ORDER BY `topic_id` ASC

这可能返回以下行:

topic_id    topic_poster
6           5
50          5
123         5
199         5
2039        5

我想做的是编写一个返回这两行的SQL查询

topic_id    topic_poster
50          5
199         5

这将是行的第一行前面的topic_id为123,行后面的行.

如果在一个查询中太难做到这一点,将其分解成两个查询是绝对可行的

我想避免执行整个SQL查询(“SELECT * FROM bb_topics WHERE topic_poster = 5”),并循环查看结果,因为结果集有时是巨大的.

这可能吗?

猜你在找的MsSQL相关文章