COUNT returns 总行忽略 MySQL 中的 LIMIT,为什么?
COUNT returns total rows ignoring LIMIT in MySQL, why?
今天我在写一个复杂的查询时,无意中发现即使我在查询MySQL服务器returns中设置了LIMIT
总行数[=15] =].
示例:
SELECT COUNT(*) FROM `log` LIMIT 10;
输出:
5219
但是如果我 运行 没有 COUNT
的查询,它 returns 只有 10 行。我的问题是,
Why does MySQL ignore LIMIT
when the COUNT
is present?
LIMIT
用于返回总结果的一个子集,在你的情况下结果只有一行所以没有效果
LIMIT
子句的目的是select一个有限数量的记录而count
是聚合函数,它将return聚合结果。一起使用 LIMIT
和 COUNT
没有任何意义,因为 LIMIT
可能 return 任何随机的 n 条记录。
今天我在写一个复杂的查询时,无意中发现即使我在查询MySQL服务器returns中设置了LIMIT
总行数[=15] =].
示例:
SELECT COUNT(*) FROM `log` LIMIT 10;
输出:
5219
但是如果我 运行 没有 COUNT
的查询,它 returns 只有 10 行。我的问题是,
Why does MySQL ignore
LIMIT
when theCOUNT
is present?
LIMIT
用于返回总结果的一个子集,在你的情况下结果只有一行所以没有效果
LIMIT
子句的目的是select一个有限数量的记录而count
是聚合函数,它将return聚合结果。一起使用 LIMIT
和 COUNT
没有任何意义,因为 LIMIT
可能 return 任何随机的 n 条记录。