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聚合结果。一起使用 LIMITCOUNT 没有任何意义,因为 LIMIT 可能 return 任何随机的 n 条记录。