首页 > 解决方案 > Mysql - 在没有 groupby 子句的情况下计算它的工作原理

问题描述

我对计数聚合功能感到困惑。

下面的句子是 mysql,它在没有 groupby 子句的情况下工作。怎么可能?

SELECT
        COUNT(1) AS cnt
FROM    dual;

结果:1

调用计数聚合函数时,是否有任何参数默认 groupby 子句。

请帮帮我。

标签: mysqlsql

解决方案


COUNT()聚合函数,例如SUM()AVG()用于聚合查询。此类查询基于在结果集中汇总为单行的行组来计算值。

通常,聚合查询使用 aGROUP BY来定义结果集中的行。GROUP BY对于在数据中找到的每个唯一键组合,结果集都有一行。

当此类查询没有 时GROUP BY,则将整个表视为一个组,并将其汇总为一行。顺便说一句,即使表中没有行也是如此。结果将是0.


推荐阅读