Что не так с запросом PostgreSQL?

SELECT id_customer, COUNT(*) as count FROM purchases GROUP BY id_customer HAVING count>5

Делаю вот такой запрос и получаю ошибку:

ERROR:  column "count" does not exist
LINE 1: ... count FROM purchases GROUP BY id_customer HAVING count>5) A...

Что я делаю не так? Спасибо


Ответы (2 шт):

Автор решения: frozencoast

Попробуйте вот так:

SELECT id_customer, COUNT(*) as "count"
FROM purchases 
GROUP BY id_customer 
HAVING COUNT(*) > 5
→ Ссылка
Автор решения: Ainar-G

HAVING ничего не знает про синонимы из SELECT, потому что логически SELECT выполяется после. Используйте функцию без синонима:

SELECT id_customer
     , COUNT(*) AS count
  FROM purchases
 GROUP BY id_customer
HAVING COUNT(*) > 5
→ Ссылка