如何在 SQL 中保存 OFFSET 的当前状态
Posted
技术标签:
【中文标题】如何在 SQL 中保存 OFFSET 的当前状态【英文标题】:How to save current state of OFFSET in SQL 【发布时间】:2009-07-01 20:00:36 【问题描述】:我有 1000 行数据,但一次只需要显示 100 行。 我希望导航按钮(例如在 google 上的 next,prev)去思考 100 组
我的 C cgi 应用程序运行并退出每个新查询,因此它无法保存状态。
问题是:保存 OFFSET 的当前状态的最有效方法是什么,以便我可以在 SQL db 中的 100 行中来回导航?
感谢任何帮助。谢谢。
【问题讨论】:
【参考方案1】:问这个问题的方式非常令人困惑,但是......
您的“页面”有 100 个项目,因此只需将 GET 变量传递到下一页 ?page=1 然后你使用 OFFSET = page * 100
【讨论】:
(已编辑问题。)下一个和上一个导航如何保存它的当前状态,传递 page=1,然后下次单击 page=2 等? 诀窍是,您不要在 SQL 中执行此操作。当您生成页面时,您知道当前页面是什么,因此添加 1 即可获得下一页。你根本不需要在服务器上维护页面状态,只需要使用 url 变量,让浏览器来维护它。【参考方案2】:Offset 通常由 resultsPerPage 和 pageId 确定。它将在服务器端计算,这些值将通过 URL 传递或发布到服务器。
【讨论】:
以上是关于如何在 SQL 中保存 OFFSET 的当前状态的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中使用 json 或其他内容保存我当前的状态
在 Pyspark HiveContext 中,SQL OFFSET 的等价物是啥?
如何在 SQL Server 2005 中使用 LIMIT [X] OFFSET [Y] [重复]