问题描述
我创建了一个小提琴 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。如何做到这一点?
解决方法
在这种情况下,可以将 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