Большинство агрегатных функций PostgreSQL игнорируют входящее значение NULL, а строки, в которых одно или несколько значений содержат NULL, отбрасываются. 13
Это верно для всех предопределённых агрегатных функций, если не указано иное. 1
Однако если при вызове агрегатной функции передаётся звёздочка (*), это означает, что функция должна обрабатывать все поля, в том числе и обычно игнорируемые поля со значениями NULL. 4
Например, COUNT(*) возвращает общее количество входных строк, COUNT(field1) возвращает количество входных строк, где field1 не равно нулю, а COUNT(DISTINCT field1) возвращает количество уникальных строк с ненулевыми значениями field1. 1
Также при группировке строк PARTITION BY NULL значения считаются идентичными и объединяются в одну группу. 2