1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

doc: add SQL query showing handling of NULLs by aggregates

Reported-by: y.saburov@gmail.com

Reviewed-by: Laurenz Albe

Discussion: https://postgr.es/m/178784080621.1060526.4544192651418189612@wrigleys.postgresql.org

Backpatch-through: 19
This commit is contained in:
Bruce Momjian
2026-10-09 22:14:28 -04:00
parent 8c888159fd
commit 429752e956

View File

@@ -1602,11 +1602,19 @@ sqrt(2)
</para>
<para>
For example, <literal>count(*)</literal> yields the total number
of input rows; <literal>count(f1)</literal> yields the number of
input rows in which <literal>f1</literal> is non-null, since
<function>count</function> ignores nulls; and
<literal>count(distinct f1)</literal> yields the number of
For example, in this query:
<programlisting>
WITH vals (f1) AS ( VALUES (1),(3),(4),(3),(2),(null) )
SELECT count(*) AS total, count(f1) AS non_null, COUNT(DISTINCT f1) AS distinct
FROM vals;
total | non_null | distinct
-------+----------+----------
6 | 5 | 4
</programlisting>
<literal>total</literal> yields the total number of input rows;
<literal>non_null</literal> yields the number of input rows in which
<literal>f1</literal> is non-null, since <function>count</function>
ignores nulls; and <literal>distinct</literal> yields the number of
distinct non-null values of <literal>f1</literal>.
</para>