sql - 有没有办法找到去年任何 90 天期间的最高 90 天总价值?
问题描述
我认为唯一的方法是将(今天 - 365)和(今天 -65 + 90)之间的值相加,然后每次移动 1 天,但这是不切实际的。有办法解决吗?
解决方案
如果您每天有一排:
select top (1) t.*
from (select t.*, sum(x) over (order by date rows between 89 preceding and current row) as sum_90
from t
) t
order by sum_90 desc;
推荐阅读
- reactjs - 使用拼接和推动(旧)状态数组更改是否正确?或者我们需要将 newArray 与 ( slice 和 spread) 一起使用?
- typescript - 在 RealmJS 中使用 undefined 而不是 null
- django - django 中 url 模式 url 之间的区别
- asp.net - Azure WebApp 上用于 AppInitialization 的 IP 白名单
- sql - 如何从数据库表中选择前 20 个值记录
- matplotlib - 如何切割连接的图形线?
- php - 无法从 MySQL 检索数据
- pointers - char *const argv[] vs char *argv 和 execv 系统调用
- reactjs - airbnb的日期选择器不显示
- java - 无法将表添加到 Room 数据库 - 日志中的异常显示“预期”表与“找到”不同