当前位置: 首页 > 面试题库 >

使用offset + limit查找mySQL查询中的结果总数

张啸
2023-03-14
问题内容

我正在使用Codeigniter执行分页功能,但我认为这通常适用于PHP / mySQL编码。

我正在使用offset和limit检索目录列表,具体取决于每页要多少结果。但是要知道所需的总页数,我需要知道(结果总数)/(限制)。现在,我正在考虑第二次运行SQL查询,然后计算所需的行数,但不使用LIMIT。但是我认为这似乎是在浪费计算资源。

有没有更好的方法?谢谢!

编辑:我的SQL查询也使用WHERE来选择具有特定’category_id’的所有行


问题答案:

看看SQL_CALC_FOUND_ROWS



 类似资料:
  • 问题内容: 出于分页目的,我需要使用和子句运行查询。但是我还需要计算不带and子句的查询将返回的行数。 我要跑步: 和: 同时。有没有办法做到这一点,特别是让Postgres优化它的方法,使其比单独运行它们都快? 问题答案: 是的。 具有简单的窗口功能: 请注意,成本将比没有总数大得多,但通常仍比两个单独的查询便宜。Postgres必须实际上以任何一种方式对 所有行 进行 计数 ,这取决于符合条件

  • 问题内容: 我有这样的查询: 上述查询^中的结果数为10行。现在,我想知道如何在此查询中获取总结果数: 如何计算此^中所有结果的数量 (与无关)? 其实我想要这个数字: 现在,我想知道如何在没有其他查询的情况下获得总结果数。 问题答案: 添加一列,例如: 如 @Tim Biegeleisen所述 : 关键字在所有其他内容之后应用,因此仍然返回正确的答案。

  • 问题内容: 如标题所述,我想要一个解决方法… 干杯 问题答案: 您可能会希望将an添加到嵌套查询中。

  • 问题内容: 我有一个与此类似的表: 我想先更换2次出现的用用,然后4下出现,使生成的表如下所示: 当然,所讨论的表要大得多,因此出现的次数也会更多,因此手动编辑不是解决方案。 我想做这样的事情: 但是不幸的是,MySQL似乎在UPDATE查询中不支持OFFSET …有什么办法吗? 问题答案: 尝试这个: 然后

  • 问题内容: 我有一些限制数据以每页仅显示4个项目的代码。我使用的列大约有20到30个项目,因此我需要将这些项目分散在各个页面上。 在第一页上,我有: 您会在页面底部注意到我的定位标记,其中列出了第二个页面“ itempage2.php”。在项目页面2中,我具有相同的代码,除了我的select语句列出了偏移量4。 当我的数据库中有预定数量的项目时,这种方式可以运行。但这不是很好。仅当有更多项目时才需

  • 问题内容: 我想将表中的行从1001开始更新到下一个1000。 我尝试了以下查询: 这给了我语法错误。它是否正确?我在这里犯任何错误吗? 我们可以这样限制更新吗? 另外,我尝试更新的行的数据类型为INTEGER的列p_id具有Null值。因此,我什至无法使用以下查询进行更新: 我上面的查询正确吗? 要做到这一点怎么办? 问题答案: 处理null时,不匹配null值。您可以使用或 可以与但只能一起使