case - SQL select,从前面的行中添加一个值
问题描述
我正在尝试用 avg 填写 2 列。案例的第一部分是正确且有效的,例如当一场比赛是主场时,它会计算主场 ORtg。但是,如果它离开了,那么我想添加最后一个客场比赛的最后一个 ORtg 值。
任何想法?
SELECT
(CASE WHEN [Home_away] = 'home' THEN AVG ([ORtg]) OVER (PARTITION BY Team, Home_away ORDER BY [Date] rows between 81 preceding and current row)ELSE 0 END) as ORtg_home
,(CASE WHEN [Home_away] = 'away' THEN AVG ([ORtg]) OVER (PARTITION BY Team, Home_away ORDER BY [Date] rows between 81 preceding and current row)ELSE 0 END) as ORtg_away
FROM [WRK_NBA_TeamTable_20210501]
解决方案
推荐阅读
- python-3.x - 如何在 QtPy5 中将 CookieStore 刷新到磁盘?
- reactjs - 如何避免 Reactjs (错误:重新渲染过多。React 限制渲染次数以防止无限循环。)。从下面的组件
- node.js - typeorm 我可以强制它更新实体(带有钩子),即使实体没有变化?
- c++ - 我有一个巨大的 XML 文件,我想将它的子树读入 C++ boost::property_tree::pTree 类型
- c++ - 将 absl::flat_hash_set 与 folly::small_vector 一起使用
- javascript - forEach 返回一个大数字而不是索引
- algorithm - 如何使用 Kotlin 克隆链表?
- wordpress - 如何显示帖子轮播,不起作用
- jasper-reports - 在 iReport 的子数据集中使用从主数据集返回的值
- signal-processing - 傅里叶正弦变换 (FFTW) 微分