Commit d11a53a8 authored by Bruce Momjian's avatar Bruce Momjian

doc: use FILTER in aggregate example

Reported-by: michal.palenik@freemap.sk

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

Backpatch-through: 10
parent 9d8f1920
......@@ -726,19 +726,20 @@ SELECT city, max(temp_lo)
which gives us one output row per city. Each aggregate result is
computed over the table rows matching that city.
We can filter these grouped
rows using <literal>HAVING</literal>:
rows using <literal>HAVING</literal> and the output count using
<literal>FILTER</literal>:
<programlisting>
SELECT city, max(temp_lo)
SELECT city, max(temp_lo), count(*) FILTER (WHERE temp_lo &lt; 30)
FROM weather
GROUP BY city
HAVING max(temp_lo) &lt; 40;
</programlisting>
<screen>
city | max
---------+-----
Hayward | 37
city | max | count
---------+-----+-------
Hayward | 37 | 5
(1 row)
</screen>
......@@ -748,7 +749,7 @@ SELECT city, max(temp_lo)
names begin with <quote><literal>S</literal></quote>, we might do:
<programlisting>
SELECT city, max(temp_lo)
SELECT city, max(temp_lo), count(*) FILTER (WHERE temp_lo &lt; 30)
FROM weather
WHERE city LIKE 'S%' -- <co id="co.tutorial-agg-like"/>
GROUP BY city
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment