Postgresql aggregate and join
Уважаемое сообщество, я новичок в postgresql. Объясните мне, пожалуйста. Где пресловутая "крутость" Постгры? Почему она не поддерживает алиасы в селектах и я должен в having дублировать агрегированные функции, которые, скорее всего, выполняются ещё раз? Насколько эта калькуляция увеличивает время выполнения? Похоже, что это вложенный цикл (хоть и лекговесный. А легковесный ли?). Есть 2 таблицы: пользователи и отзывы (users.id <--- reviews.user_id)
select
distinct users.id,
AVG(reviews.vote) as avg,
count(reviews.id) as cnt
from
"users"
left join "reviews" on
"reviews"."user_id" = "users"."id"
group by
"users"."id"
having
AVG(reviews.vote) > 2.5 and count(reviews.id) > 2 -- почему здесь я не могу использовать уже просчитанное значение cnt и avg?
order by
"users"."id" desc
limit 25
offset 0