Re: Simple aggregate query brain fart

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Simple aggregate query brain fart
Дата
Msg-id 11074.1268925073@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Simple aggregate query brain fart  (Mark Fenbers <Mark.Fenbers@noaa.gov>)
Ответы Re: Simple aggregate query brain fart  (Mark Fenbers <Mark.Fenbers@noaa.gov>)
Список pgsql-sql
Mark Fenbers <Mark.Fenbers@noaa.gov> writes:
> I want to do:
> SELECT id, count(*) FROM mytable WHERE count(*) > 2 GROUP BY id;

> But this doesn't work because Pg won't allow aggregate functions in a 
> where clause.

Use HAVING, not WHERE.  The way you are trying to write the query is
meaningless because WHERE filters rows before grouping/aggregation.
HAVING filters afterwards, which is when it makes sense to put a
condition on count(*).
        regards, tom lane


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

Предыдущее
От: "Plugge, Joe R."
Дата:
Сообщение: Re: Simple aggregate query brain fart
Следующее
От: Mark Fenbers
Дата:
Сообщение: Re: Simple aggregate query brain fart