| От | 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
|
| Список | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера