问题标签 [sql-calc-found-rows]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2028 浏览

php - cakephp 和 SQL_CALC_FOUND_ROWS

我正在尝试将 SQL_CALC_FOUND_ROWS 添加到查询中(请注意,这不是用于分页)

请注意我正在尝试将此添加到 cakePHP 查询中,我目前拥有的代码如下:

请注意,'fields'=>array('SQL_CALC_FOUND_ROWS','这显然不起作用,因为它试图将 应用于SQL_CALC_FOUND_ROWS表,例如SELECT类别.SQL_CALC_FOUND_ROWS,

反正有这样做吗?任何帮助将不胜感激,谢谢。

0 投票
7 回答
49498 浏览

php - 如何在 PHP 中使用 MySQL Found_Rows()?

由于性能问题,我尽量避免执行 Count( )。(即 SELECT COUNT( ) FROM Users)

如果我在 phpMyAdmin 中运行以下命令,就可以了:

它将返回行数。即用户数。

但是,如果我在 PHP 中运行,我不能这样做:

似乎 PHP 不喜欢传入两个查询。那么,我该怎么做呢?

0 投票
1 回答
2853 浏览

mysql - 如何禁用或规避 phpmyadmin 的 SQL_CALC_FOUND_ROWS

当您SELECT通过 phpmyadmin 处理 a 时,在幕后,它有时会添加一个LIMIT 0,30,和/或它会将 aSQL_CALC_FOUND_ROWS扔到 中,SELECT这样它就可以告诉我如果没有LIMIT.

不幸的是,添加SQL_CALC_FOUND_ROWS有时需要比我预期的更多的处理(即比我运行原始未污染查询时更多)。

是否有一个全局配置选项来禁用 phpmyadmin 对我的查询的修改?

我可以在每个查询的基础上使用哪些技巧来防止 phpmyadmin 的修改?

0 投票
3 回答
23743 浏览

mysql - Mysql SQL_CALC_FOUND_ROWS 和分页

所以我有一个有 500 万行多一点的表。当我使用 SQL_CALC_FOUND_ROWS 时,查询会永远挂起。当我把它拿出来时,查询会在一秒钟内执行 LIMIT ,25。我的问题是出于分页原因,是否有替代获取总行数的方法?

0 投票
3 回答
4344 浏览

php - mySQL 中的 FOUND_ROWS() 结果错误

我总共有 6 行。当我做一个查询(比如 SELECT * from table)并且我有

  • LIMIT 3 => FOUND_ROWS() 给出 3 => 检索到 3 行
  • LIMIT 1, 3 => FOUND_ROWS() 给出 4 => 检索到 3 行
  • LIMIT 2, 3 => FOUND_ROWS() 给出 5 => 检索到 3 行
  • LIMIT 3, 3 => FOUND_ROWS() 给出 6 => 检索到 3 行
  • LIMIT 4, 3 => FOUND_ROWS() 给出 6 => 检索到 2 行

知道这种奇怪行为的原因是什么吗?

SQL查询

或者在一个块中:

0 投票
1 回答
903 浏览

mysql - Codeigniter+MySql:将COUNT集成到这个查询中,避免分页时重复查询

由于 Codeigniter(恕我直言)中的分页在使用过滤器(开头字母、类别等)时缺少一些便于实施的好东西,即使我的分页功能齐全且正常工作 - 我有两个查询正在运行,它们之间的唯一区别是其中一个在末尾有 LIMIT (和 OFFSET)。需要第二个查询,因为我必须获取总行数,而我的“主”查询我无法得到它,因为它有 LIMIT,所以它返回有限的行数。

QUERY 1(“主要”查询)

QUERY 2(这个计算行数)

模型代码(它很乱,我知道:)):

所以我真正需要的是,与其运行这两个复杂的查询,我宁愿做一个查询,即使它变得更复杂,但我想从中获得总行数。

我读了一些关于 sql_calc_found_rows 的东西,但无法实现它,因为我完全不熟悉它,而且很多人说它给数据库带来了额外的压力,所以它应该只在极少数情况下使用。

任何帮助将不胜感激!

0 投票
2 回答
1104 浏览

php - SQL 查询中的自定义 ORDER BY 逻辑

我正在寻找以下问题的优雅解决方案:

我目前有一个页面列出了按日期排序的条目,并带有分页限制。这是我的代码片段:

表架构:

这是一种以分页方式处理列表条目的标准方法。我的问题是客户想要特殊排序 - 他们希望具有特定值的条目以使hgroup_id外键出现在顶部。

我能想到的两个解决方案是:

  1. 加载整个列表并使用 PHP 重新排序,然后使用 PHP 处理分页;
  2. 运行两个查询 - 一个选择具有所需外键的条目,第二个选择所有其他整体。合并结果集并使用 PHP 处理分页。

无论哪种方式,我优雅的单查询 SQL_CALC_FOUND_ROWS 分页方法都行不通。我很好奇我是否可以在 ORDER_BY 子句中使用一些 MySQL“魔法”?

我希望以上是有道理的..

0 投票
1 回答
1273 浏览

java - Java、prepareStatement、SQL_CALC_FOUND_ROWS、FoundRows() 它是如何工作的

我正在尝试从数据库进行分页,到目前为止我发现如果你想使用 limit 你应该使用SQL_CALC_FOUND_ROWS.

但是,在 Java 中,我在理解如何调用它时遇到了一些问题。

我可以在一个 prepareStatement 中完成,还是需要打多个电话?如果我进行了多次调用,MySQL 怎么知道我指的是最后一次调用计数?

谢谢。

0 投票
2 回答
359 浏览

php - 全文搜索中的 MySql SQL_CALC_FOUND_ROWS 问题

我正在尝试向查询全文索引表的结果添加分页。这是查询:

普通查询

它返回183行。

尝试进行分页

按预期返回 8 行,因为我想每页显示 8 个项目。

接着

它返回20项目,而不是183原始查询中的项目。我不确定是什么原因造成的。你能帮我解决这个问题吗?

谢谢。

0 投票
1 回答
149 浏览

php - 在登录页面中使用 FOUND_ROWS

我正在尝试设置一个用户登录页面(我学习 php 时的基本培训),但该页面无法正常工作,因为我认为我在计算行数的部分存在问题(我检查了我的行数输入的登录名和密码与已输入的匹配的用户表数据库=1)。

我在 PDO 中,我不想使用mysql_num_rows弃用的,或者至少建议不要使用它。相反,我想使用Found_rows

这是我的 login_page.php:

然后是 php 文件,我在该文件中检查{login,password}此 login_verify.php 文件中输入的内容是否正确:

如果你们中的任何人知道问题出在哪里,那就太好了。

我认为它来自对found_rows的滥用。这是我第一次使用它,所以我觉得我的东西很糟糕,但我不知道它是什么。