gpt4 book ai didi

MySQL分页无需双重查询?

转载 作者:行者123 更新时间:2023-11-29 16:15:07 24 4
gpt4 key购买 nike

我想知道是否有一种方法可以获取 MySQL 查询的结果数量,同时限制结果。

分页的工作方式(据我所知)是首先执行以下操作:

query = SELECT COUNT(*) FROM `table` WHERE `some_condition`

获得num_rows(query)后,我就得到了结果数。但为了真正限制我的结果,我必须进行第二个查询:

query2 = SELECT COUNT(*) FROM `table` WHERE `some_condition` LIMIT 0, 10

是否有任何方法既可以检索给出的结果总数,又可以限制单个查询中返回的结果?或者还有其他有效的方法来实现这一目标吗?

最佳答案

我几乎从不做两个查询。

只需多返回一行,页面上仅显示 10 行,如果显示多于显示的行,则显示“下一步”按钮。

SELECT x, y, z FROM `table` WHERE `some_condition` LIMIT 0, 11
// Iterate through and display 10 rows.
// if there were 11 rows, display a "Next" button.

您的查询应按照最相关的顺序首先返回,大多数人可能不会关心是否转到 412 页中的第 236 页。

当您进行 Google 搜索并且结果不在第一页时,您可能会转到第二页,而不是第九页。

关于MySQL分页无需双重查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54884555/

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