как фильтровать с предложением в оконной функции поверх avg?

Я создал скрипт http://sqlfiddle.com/#!17/f882b/23.

В нем есть таблица «шотландцы» с именем, возрастом, страной, весом.

select name, weight, country,
avg(weight) over (order by name) as avg_weight_over_computed
from scots 
-- group by country
having avg_weight_over_computed > 76
order by name

Это выше не работает с предложением наличия. Я хочу отфильтровать те avg_weights › 76. Как это сделать?


person ERJAN    schedule 31.01.2021    source источник
comment
Не имеет отношения к вашей проблеме, но: Postgres9.3 больше не поддерживается вам следует запланировать обновление как можно быстрее.   -  person a_horse_with_no_name    schedule 31.01.2021


Ответы (1)


В этом случае HAVING можно преобразовать в предложение where в подзапросе?

SELECT * FROM
(
  select 
    name, 
    weight, 
    country,
    avg(weight) over (order by name) as avg_weight_over_computed
  from 
      scots 
)
AS X
where 
  avg_weight_over_computed > 76
person Ross Bush    schedule 31.01.2021