微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在窗口函数中使用具有子句过滤 avg?

如何解决如何在窗口函数中使用具有子句过滤 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。如何做到这一点?

解决方法

在这种情况下,可以将 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。