Mysql 跨多个表的基于光标的分页

Mysql 跨多个表的基于光标的分页,mysql,pagination,Mysql,Pagination,我有3个表,分别作为单独提要和组提要访问 对于单个提要,我可以基于每行的唯一id实现基于光标的分页 我如何为组提要实现基于光标的分页,该提要基本上将所有3个表合并为1个提要 每个表都有唯一的ID和创建时的时间戳,尽管这不是唯一的 我曾考虑过使用时间戳作为某种指针,例如,特定时间戳之后的结果,但这可能会导致缺少结果,就像您在执行后续请求时请求了10行时间戳之后的数据,而这些数据行都具有相同的时间戳,另外20行也是如此,您将错过以下20行 如何解决此问题?窗口功能。 MySQL 8.0引入了对标准S

我有3个表,分别作为单独提要和组提要访问

对于单个提要,我可以基于每行的唯一id实现基于光标的分页

我如何为组提要实现基于光标的分页,该提要基本上将所有3个表合并为1个提要

每个表都有唯一的ID和创建时的时间戳,尽管这不是唯一的

我曾考虑过使用时间戳作为某种指针,例如,特定时间戳之后的结果,但这可能会导致缺少结果,就像您在执行后续请求时请求了10行时间戳之后的数据,而这些数据行都具有相同的时间戳,另外20行也是如此,您将错过以下20行

如何解决此问题?

窗口功能。 MySQL 8.0引入了对标准SQL窗口函数的支持。看

不需要限制。您只需使用参数来选择与要查看的当前页面相对应的行范围

如果你回答了,但我还没有升级到MySQL 8.0,那么我会说现在你有一个很好的理由升级。

窗口功能。 MySQL 8.0引入了对标准SQL窗口函数的支持。看

不需要限制。您只需使用参数来选择与要查看的当前页面相对应的行范围

如果你回答,但我还没有升级到MySQL 8.0,那么我会说,现在你有一个很好的理由升级

SELECT *
FROM (
  SELECT ..., ROW_NUMBER() OVER () AS rownum
  FROM <multiple tables joined>
) AS t
WHERE rownum BETWEEN ? and ?