mysql - 为什么 FOUND_ROWS() 对于 5.7.17 SQL 版本返回错误结果?

标签 mysql sql sql-calc-found-rows

我在本地系统上运行了以下查询

SELECT FOUND_ROWS() FROM table_name LIMIT 1;
SQL Version : 5.6.16

它返回行数。

当在服务器(SQL 版本:5.7.17)上运行相同的查询时,它返回 0。

网上搜索后建议使用

SQL_CALC_FOUND_ROWS

所以我也在本地和服务器上使用了以下查询。

SELECT SQL_CALC_FOUND_ROWS * FROM users
SELECT FOUND_ROWS();

但结果是一样的,它在本地(SQL 版本:5.8.16)上运行良好,在服务器(SQL 版本:5.7.17)上返回 0。

最佳答案

这是一个可能导致此问题的 mysql 错误,具体取决于您使用的版本:

http://bugs.mysql.com/bug.php?id=1468

您可以通过在查询中使用 GROUP BY 子句来解决此问题。就我而言,它运作良好。

关于mysql - 为什么 FOUND_ROWS() 对于 5.7.17 SQL 版本返回错误结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49422008/

相关文章:

mysql - 无法从C程序连接到mysql套接字

mysql - 如何在 Waterline sails.js 中使用其同事的属性查找实体?

mysql - SQL——多对多查询

sql - 在 Redshift 中执行 WHERE IN 或 INNER JOIN 更快吗

mysql - 代码点火器+MySql : Integrate COUNT into this query to avoid double queries when paginating

没有安装程序下载链接的 MySql?

sql - 存储过程最佳实践?他们应该在插入之前检查外键是否存在吗?

sql - 超前/滞后中的偏移子查询

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