sql - 如何与特定范围的记录求和
问题描述
我有桌子
tax number yearmonth(int)
100 45 202105
2 45 202104
35 45 202102
47 45 202012
58 45 202005
我尝试在过去 12 个月内汇总每个数字的总和 例如 202105 - 我需要 (202012 - 202001) 之间的总和月份 主要问题 -> 并非每个数字都有全部 12 个月
我尝试了 over 子句,但它总结了所有 12 个前面的记录。它不考虑丢失的年份记录。
case when yearmonth-lag(yearmonth,1) OVER ( order by number, yearmonth) <> (0) then
sum([tax]) OVER (
PARTITION BY [number]
ORDER BY yearmonth
Rows BETWEEN 11 PRECEDING AND CURRENT ROW ) end
解决方案
推荐阅读
- javascript - 从 url 的开头删除 \"e;
- ruby-on-rails - Rails 使用相同的端点而不是两个新的端点
- javascript - 在猫鼬中查找特定字段并使用快速验证器验证它的值
- laravel - 用户模型中的 Laravel $this 返回第一个用户,而不是登录用户(偶尔)
- ios - xcode 12.5 更新后无法使用我自己的框架构建我的 Swift 应用程序
- r - 有没有办法根据小数位数过滤数据集?
- python - 如何比较python中的每一列
- arrays - 数组排序 - Swift 如何对 AZ 进行排序
- azure-communication-services - 在 Azure 通信服务英雄聊天应用程序中呈现 HTML 字符串
- c++ - 如何为古代操作系统编译 gcc?