Re: [HACKERS] WHERE vs HAVING

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [HACKERS] WHERE vs HAVING
Дата
Msg-id 25460.926532419@sss.pgh.pa.us
обсуждение исходный текст
Ответ на WHERE vs HAVING  (jwieck@debis.com (Jan Wieck))
Список pgsql-hackers
jwieck@debis.com (Jan Wieck) writes:
>     I  wonder  what makes the difference between WHERE and HAVING
>     that causes HAVING to accept aggregates while WHERE  doesn't.

Huh?  It seems inherent in the definition to me: WHERE is a filter
applied to individual tuples before any aggregation stage can happen,
thus it makes no sense for it to include aggregate functions
(except in explicit subselects, which create a new context for the
aggregation to occur in).  HAVING applies to groups of tuples after
aggregation, so aggregate functions can meaningfully be applied to
those groups.

>     It  would  be  extremely nice if it's possible to teach WHERE
>     how to handle aggregates properly. Having to push  them  into
>     subselects during rewrite if a views aggregate column appears
>     in the WHERE clause is a total mess.

Explain to me what you think it should mean.  It sounds to me like
you are trying to have the rewrite system change an incorrect query
into a valid one.  Doesn't strike me as a good idea; does the user
know what he's going to get?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] BUG? serials and primary keys (was Re: [INTERFACES] Bug in psql?)
Следующее
От: Keith Parks
Дата:
Сообщение: Patch to pg_dump for NUMERIC.