3

执行以下脚本以创建测试表。

create table if not exists t1 (id1 int,id2 int);

现在,表已创建,它是空表。

执行以下脚本,

select max(id1), max(id2) from t1

它将返回结果下方(一行)。

max(id1)      max(id2)
-----------   --------
<null>        <null>

执行以下脚本,

select max(id1), max(id2) from t1 group by id1,id2

它将返回低于结果(无结果)。

max(id1)      max(id2)
-----------   --------

有人解释原因吗?

4

1 回答 1

3

文档说:

max()聚合函数返回组中所有值的最大值。[...]当且仅当组中没有非值时,聚合才max()返回。NULLNULL

在您的第一个查询中,有一个组没有任何记录。

在您的第二个查询中,没有组。

于 2012-11-01T08:58:48.570 回答