sql - 如何在SQL中选择 'previous'和 'next'记录?

标签 sql sql-server pagination

我正在我的网站上构建一个博客文章详细信息页面,该页面将显示“上一篇”和“下一篇”链接,类似于键盘博客文章的工作方式。请参阅下面的示例。 alt text

我想知道是否有一种方法可以查询数据库,它可以完成如下图所示的操作,其中它选择“当前”记录(黄色)进行显示,同时还选择下一条和上一条记录(绿色)按发布日期排序。

alt text

此外,为了澄清起见,我正在使用的数据库表具有唯一的发布日期。抱歉,示例图像显示具有相同发布日期的多条记录。

最佳答案

你不知道。 SQL 没有上一个、下一个概念。您基本上是在有序查询(例如按日期)中询问您已有的查询中的下一个前 1 个查询。这意味着您需要/强加一个订单(按订单按语句)进行过滤。

关于sql - 如何在SQL中选择 'previous'和 'next'记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805375/

相关文章:

html - Jekyll 分页器不生成任何页面

mysql - 获取对话的第一条消息

mysql - 从预定义列表中选择 NOT IN

sql - 避免子查询根据基本记录的日期从同一个表中选择记录

php - 高效评论系统分页查询

mysql - 将 MSSQL 分页语句转换为 MySQL 分页语句

使用 JOIN 的 MySQL 查询不使用 INDEX

sql如何根据是否在列中找到字符串进行排序?

sql - 尝试根据另一个参数获取数据统计信息

sql-server - sql删除行错误