小编典典

COUNT(*)是否总是返回结果?

mysql

如果我运行查询,例如:

SELECT COUNT(*) as num FROM table WHERE x = 'y'

即使查询与任何记录都不匹配,它也会始终返回结果吗?还是我需要验证并确保结果返回一行?


阅读 269

收藏
2020-05-17

共1个答案

小编典典

是的,因为它是一个聚合并且返回零。除非您添加GROUP BY,否则由于没有组,因此没有结果…

除非您添加GROUP BY,然后没有任何行,否则MAX / SUM等将返回NULL。只有COUNT传回没有结果的数字

编辑,有点晚:SUM会像MAX一样返回NULL

编辑,2013年5月:这适用于所有主要RDBMS。我想按照ANSI标准

2020-05-17