为什么Postgres Group不按NULL选择计数?

Rod*_*own 15 sql postgresql null group-by

我试图使用以下SQL获取表中每个值的计数:

SELECT col, COUNT(col)
FROM table 
GROUP BY col
Run Code Online (Sandbox Code Playgroud)

(实际代码中有一个WHERE子句,但没有影响).

当我运行这个时,我得到的结果如下:

a      - 5
b      - 4
<null> - 0
Run Code Online (Sandbox Code Playgroud)

无论我有多少个空条目,它总是显示0的计数.

有什么想法吗?

Rod*_*own 35

弄清楚了.更改了代码以使用COUNT(*)而不是COUNT(col).

COUNT(col)不计算任何空行,所有其他聚合方法也从结果集中消除空值.