【发布时间】:2011-07-19 14:04:58
【问题描述】:
我正在对我的 SQL 结果进行分页(每页 10 个)。我想找出给定行(通过 URL 知道的id)在哪个页面上,以便我可以直接跳转到正确的页面。
排序是已知的,但不是简单的ORDER BY id ASC,所以我不能只计算行id < wanted_id。
允许使用特定于 MySQL 的命令和子查询。我想避免变量。
有什么办法吗?
编辑让自己清楚...
我有能力得到结果。我需要的是该行的 rank(即该行 before 的行数)。我不是在寻找蛮力方法(我宁愿检索 10k id 并以编程方式找到该排名)。
【问题讨论】:
-
看起来下面的答案正在完整执行查询,找出页码然后检索它。我认为这个问题旨在避免完整的查询执行,这是使用分页的第一个原因。马塞尔,请澄清这不是故意的。
-
@isobar 已澄清。假设标题足够清晰。
标签: mysql sql pagination