On Sep 1, 2010, at 10:30 AM, Tom Lane wrote: > Hm, actually the whole para needs work. It was designed at a time when > DISTINCT automatically discarded nulls, which isn't true anymore, and > that fact was patched-in in a very awkward way too. Perhaps something > like > > The first form of aggregate expression invokes the aggregate > once for each input row. > The second form is the same as the first, since > <literal>ALL</literal> is the default. > The third form invokes the aggregate once for each distinct value, > or set of values, of the expression(s) found in the input rows. > The last form invokes the aggregate once for each input row; since no > particular input value is specified, it is generally only useful > for the <function>count(*)</function> aggregate function. > > Most aggregate functions ignore null inputs, so that rows in which > one or more of the expression(s) yield null are discarded. (This > can be assumed to be true, unless otherwise specified, for all > built-in aggregates.)
I don't think you need the parentheses, though without them, "This" might be better written as "The ignoring of NULLs". Just my $0.02. Best, David -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers