gpt4 book ai didi

MySql分页结果,具体结果找 "page"

转载 作者:可可西里 更新时间:2023-11-01 07:12:52 25 4
gpt4 key购买 nike

我有一个使用 MySql 数据库的应用程序,该数据库显示分页记录列表,用户可以向其中添加新记录。我知道如何使用 LIMIT 等获得分页结果,但问题是如何在添加新记录时转到特定页面。如果页面大小为 20,并且用户正在查看第一页,并且他们添加了第 23(例如 100)条记录,我们如何确定向用户显示哪个页面。

因此,基本上,给定页面大小和特定记录,我如何确定要显示页面中的哪个“页面”。总页数不包括它们所属表的所有记录,但获取它们的标准是静态的。


编辑:我应该更具体一些。这些记录包含一个唯一 ID 字段和一个字符串名称字段。结果记录按名称字母顺序排序。此外,这是一个 Java 应用程序。

我唯一能想到的是选择所有按名称排序的所需记录,然后一些如何找到特定记录在这些结果中的位置。从那个位置可以很容易地计算出页码,因为我们知道页面大小,但我不确定它们是否是用于获取结果中记录位置的 MySql 语法。

“愚蠢”的解决方案是将它们全部抓取,然后在应用程序代码 (java) 中确定所有结果中的特定记录位置。但似乎他们必须是一种更有效的方式。

最佳答案

SELECT COUNT(*) as CNT FROM tbl WHERE name < (SELECT name FROM tbl WHERE id = 42)

之后,您只需将 CNT 值除以每页的行数并对其进行轮流 (Math.floor())

或者你甚至可以在 sql 中这样做:

SELECT FLOOR(COUNT(*) / 20) AS page_number ...

关于MySql分页结果,具体结果找 "page",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9086719/

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