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

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