window-functions - 如何在窗口函数中使用具有子句而不是 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
推荐阅读
- python - Python 异步 REST API,其响应依赖于 CPU 密集型计算。如何高效处理?
- android - 如何解决此 InflateException - 单击按钮后?
- compiler-errors - IAR 编译器无法识别某些变量
- ruby-on-rails - 活动存储导致 Rails 应用程序在 Heroku 上失败;在当地工作
- r - ifelse 语句在此嵌套循环中返回错误
- python - 具有相同输入大小的快速和非常慢的 scipy.signal.resample
- c# - 我想在 for loop.so 中访问 asp.net 服务器控件的“ids”,所以我可以用单行设置所有控件的值
- dictionary - 使用连接将流利的结果映射到结构
- postgresql - 加快 PostgreSQL 中名称匹配的查询
- javascript - 如何正确获取 JSON 对象来代替 [Object object]?