为什么聚合函数返回至少1行

时间:2011-01-27 09:32:33

标签: mysql aggregate-functions

查询select 1 from dual where false返回0行,但查询select max(1) from dual where false返回包含NULL内容的1行。

这背后的原因是什么?

1 个答案:

答案 0 :(得分:3)

带有where 1=0子句的查询会过滤掉所有行,并返回一个空集。

整个表中聚合的没有组的聚合。如果表中不包含任何行,则最大值为null,但仍会计算聚合。