gpt4 book ai didi

mysql - 如何在 mysql 中使用 order by 捕获特定行的邻居?

转载 作者:行者123 更新时间:2023-11-29 22:28:01 26 4
gpt4 key购买 nike

我会给你一个我想要的简单例子

假设我有一个包含以下 ID 的文章表(1、2、3、4、5、6、7、8、9、10)

现在访问者希望按文章标题然后按作者姓名对文章进行排序,因此查询将如下所示

SELECT `articles`.`id`, `articles`.`title`, `articles`.`body`, `authors`.`id`, `authors`.`name` from `articles`
left join `authors` on `articles`.`author_id` = `authors`.`name`
ORDER BY `articles`.`title` ASC, `authors`.`name` ASC;

可能会产生以下顺序 (5, 9, 8, 6, 4, 1, 3, 10, 2, 7)

然后访问者访问第 4 篇文章的详细信息页面,现在我想从该页面导航并抛出他的结果,即 (5, 9, 8, 6, 4, 1, 3, 10, 2, 7)

所以我想将文章编号“6”作为上一篇文章,将文章编号“1”作为下一篇文章

当我在文章详细信息页面中只有文章 ID 以及搜索条件和搜索顺序时,如何使用 Mysql 执行此操作。

注意:解决方案应该考虑性能,因为我有一个可能达到 1,000,000 行的表

最佳答案

在 SQL 中,您可能需要使用类似 ROW_NUMBER() OVER 的函数。看来这在MySql中不可用;请参阅this question .

关于mysql - 如何在 mysql 中使用 order by 捕获特定行的邻居?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com