SQL Server - 过去 12 个月的累计总和,但从上个月开始 (SQL Server 18)

2024-03-06

我需要计算过去 12 个月内某个值的累计总和。到目前为止,我的累积计算正在运行,但从当月开始。 我需要过去 12 个月的总计,从从上个月开始。 目前,我正在使用OVERSQL 子句,从当前行/月开始运行累积总计。

请参考下面我的代码示例:

SELECT  *,
         SUM(Amount) OVER (PARTITION BY ID ORDER BY Date_Month ROWS BETWEEN 11 PRECEDING AND CURRENT ROW) AS TwelveMoTtl
         FROM ( 
    SELECT DISTINCT
        CAST(DATEADD(MONTH, DATEDIFF(MONTH, 0, TransactionDt), 0) AS DATE)   AS Date_Month,
        ID,
        SUM(Amount) AS Amount
    FROM MyTable
    WHERE TransactionDt >= '2019-01-01'
    GROUP BY
        ID,
        CAST(DATEADD(MONTH, DATEDIFF(MONTH, 0, TransactionDt), 0) AS DATE)

这是我的结果(仅使用一个 ID 来简化示例):

作为我的示例,计算从当前行开始,并在过去 12 个月内运行。

如果我们以二月行为例,我需要从2020年1月到2019年2月的累计和。

有什么建议我该怎么做?

Thanks,


看来你对窗口函数很了解。您只需调整窗框:

SUM(Amount) OVER (PARTITION BY ID
                  ORDER BY Date_Month
                  ROWS BETWEEN 12 PRECEDING AND 1 PRECEDING
                 ) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server - 过去 12 个月的累计总和,但从上个月开始 (SQL Server 18) 的相关文章

  • BULK INSERT 中格式附近的语法不正确?

    我试图找出为什么我使用的 BULK INSERT 命令无法识别命令中使用的 FORMAT 和 FIELDQUOTE 选项 BULK INSERT dbo tblM2016 RAW Current Import File FROM x tms
  • 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵

    我想将大量数据从 F 传输到 SQL 表 基本上我的 F 代码创建了一个三列矩阵 UserID ProductID and price 和N行 我想将其 复制 粘贴 到数据库中 我尝试了多种选择 但最终 从 F 传输数据非常慢 10000
  • 在tomcat中显示Spring-security的SQL错误

    我使用 spring security 框架创建了一个 Web 应用程序 我设置了一个数据库来存储用户及其角色 但 tomcat 给出以下错误 17 sep 2010 11 56 14 org springframework beans f
  • 导致聚集索引扫描的日期参数

    我有以下查询 DECLARE StartDate DATE 2017 09 22 DECLARE EndDate DATE 2017 09 23 SELECT a col1 a col2 b col1 b col2 b col3 a col
  • 从 ISO 周中提取日期 (201905) BigQuery

    我需要从 ISO 周数中提取星期日的日期 即 201905 它需要位于 standardSQL 中 因为它将使用不支持旧版本的脚本进行调度 我尝试从 Google Sheets 调整工作公式 但无法弄清楚 Google Sheets 的原始
  • 关系数据库和图数据库的比较

    有人可以向我解释一下 MySQL 等关系数据库与 Neo4j 等图形数据库相比的优缺点吗 在 SQL 中 您有多个表 它们之间有不同的 id 链接 然后你必须加入来连接表 从新手的角度来看 为什么要将数据库设计为需要联接 而不是像图形数据库
  • PIVOT 运算符中指定的列名“FirstName”与 PIVOT 参数中的现有列名冲突

    当我尝试替换时收到以下错误消息null to zero PIVOT 运算符中指定的列名 jan 与 PIVOT 参数中的现有列名称 查询如下 select from select isnull jan 0 isnull feb 0 sum
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • 动态SQL生成列名?

    我有一个查询 我正在尝试将行值转换为列名称 目前我正在使用SUM Case As ColumnName 声明 像这样 SELECT SKU1 SUM Case When Sku2 157 Then Quantity Else 0 End A
  • 对 ExecuteNonQuery() 的单次调用是原子的

    对 ExecuteNonQuery 的单次调用是否是原子的 或者如果单个 DbCommand 中有多个 sql 语句 那么使用事务是否有意义 请参阅我的示例以进行说明 using var ts new TransactionScope us
  • 如何重命名 SQL Server 中名称中带有方括号的内容?

    我的一张桌子上有一列 周围有方括号 Book Category 我想重命名为Book Category 我尝试了以下查询 sp rename BookPublisher Book Category Book Category COLUMN
  • 数据库“key/ID”设计思想、代理键、主键等

    因此 我最近看到多次提到代理键 但我不太确定它是什么以及它与主键有何不同 我总是假设 ID 是表中的主键 如下所示 Users ID Guid FirstName Text LastName Text SSN Int 然而 维基百科将代理键
  • TSQL 定义临时表(或表变量)而不定义架构?

    有没有一种方法可以定义临时表而无需预先定义其架构 实际上 使用表 VARIABLE 内存表 是最佳方法 table 在临时数据库中创建一个表 而 table 是全局的 两者都具有磁盘命中 考虑交易数量所经历的放缓 打击 CREATE PRO
  • Sequelize mssql:按主键和限制排序

    我想运行一个使用主键对结果进行排序的查询 并限制返回结果的数量 例如 return Things findAll attributes id status otherField limit 2 order id DESC 构建查询时 会生成
  • PDO dblib 未捕获警告

    我已经使用 realestateconz mssql bundle 和免费 TDS 成功使我的 symfony 应用程序连接到 MSSQL 数据库 我的问题是 当我尝试执行存储过程时 如果出现问题 该过程会引发异常 但 PDO 不会报告任何
  • Oracle 查询向上或向下舍入到最近的 15 分钟间隔

    08 SEP 20 08 55 05 08 SEP 20 15 36 13 下面的查询对于 15 36 13 可以正常工作 因为它四舍五入到 15 30 但 8 55 05 向下舍入到 08 45 而它应该四舍五入到 09 00 selec
  • 无法将方法组“Read”转换为非委托类型“bool”

    我正在尝试使用SqlDataReader检查条目是否存在 如果存在则返回ID 否则返回false 当我尝试编译时 出现错误 无法将方法组 Read 转换为非委托类型 bool 我一直在遵循在 VB 中找到的示例 但似乎翻译可能不正确 pri
  • 在单个查询中设置和选择?

    我想知道是否可以在单个查询中设置和选择 像这样的事情 SET LOCAL search path TO 1 SET LOCAL ROLE user SELECT from posts 你可以这样做 with some set as sele
  • 如果不存在则插入数据(来自 2 个表),否则更新

    再会 我有3张桌子 tbl仓库产品 ProductID ProductName ProductCode Quantity tbl分公司产品 ProductID ProductCode ProductCode Quantity Locatio
  • 多个数据库连接

    我有三张桌子 categories content info and content The categories表包含类别的id及其 IDparent类别 The content info包含两列 entry id帖子的 ID 和cat

随机推荐

  • 处理连续的 JSON 流

    现已不复存在 页面http stream twitter com 1 statuses sample json http stream twitter com 1 statuses sample json用于返回连续且无限的 JSON 数据
  • 第一次执行代码时颜色不正确

    我有一段代码可以在一页上绘制多个堆叠条形图 我指定了一个调色板 以便每个数据组都与每个图表中的相同颜色相关联 我发现第一个图表中的颜色不正确 但在所有后续图表中都是正确的 如果我在同一个 R 会话中重新运行代码 所有图表都具有正确的颜色 但
  • 如何在 Mac 上设置 2.7 的 python 路径?

    我知道 这个问题已经被问过很多次了 也被回答过很多次了 但是 我仍然无法摆脱这个 我在我的 mac 上发现了以下信息 cd Library Frameworks Python framework Versions Current gt 2
  • 如何管理pouchdb和couchdb同步?

    存储多个用户数据的最佳方法是每个用户每个数据库 我正在使用同样的方法 我在服务器上有 couchdb 在移动应用程序上有 pouchdb 我通过在 pouchdb 和 couchdb 中为用户创建单独的数据库来维护每个用户数据 这意味着我在
  • 将 ssh 密钥与 scp 和 ssh 结合使用

    我正在尝试使用 scp 将一些文件复制到目标系统 然后登录到系统并安装这些文件 我在这里使用 scp 和 ssh 命令以及 ssh 密钥进行无密码身份验证 ssh 密钥是在源系统上创建的 如下所示 这是创建 ssh 密钥的正确且安全的方法吗
  • 为什么我不能在java中的Frame上画任何东西?

    编码就在这里 我无法在框架内创建任何矩形或圆形 该项目的目标是创建转换 celcius 2 华氏度和华氏度 2 摄氏度 所以我想要的是 请教我如何在框架旁边绘制矩形或椭圆形 import java awt BorderLayout impo
  • JESS 引擎的网页不可用

    http www jessrules com http www jessrules com and https herzberg ca sandia gov https herzberg ca sandia gov 不要再工作了 我如何获得
  • graphql-codegen 未使用配置文件运行

    In my package json文件我有运行的脚本条目graphql codegen但它抱怨说 config参数无效 gt yarn gen yarn run v1 21 1 graphql codegen config codegen
  • 气流动态 dag 创建

    有人请告诉我气流中的 DAG 是否只是一个图表 如占位符 没有任何与其关联的实际数据 如参数 或者 DAG 是否像一个实例 对于固定参数 我想要一个系统 其中要执行的操作集 给定一组参数 是固定的 但每次运行这组操作时 该输入都会不同 简单
  • Angular 2注入在继承中不起作用

    最近我们从 Angular 2 0 升级到 2 4 从那时起我们就遇到了继承问题 如果我们调用子进程 所有依赖项都会变得未定义 孩子没有构造函数 这意味着它使用父亲的构造函数 这是代码 Injectable export class Chi
  • 使用 ajax 下拉菜单中的 onclick 事件更新隐藏的输入值

    我正在使用 MachForm 并添加了这个隐藏字段
  • Spring Boot - 在 application.properties 中获取 Spring-Kafka 客户端 ID 的主机名

    我正在使用 Spring Kafka 和 Boot 开发一个项目 并且希望在 application properties 中获取属性 spring kafka consumer client Id 的主机名 以便可以在服务器端日志中区分我
  • 修改C中的char*字符串

    我有这个 char original html content 并想插入一个新的 char mycontent newhtmlinsert 进入之前的 原文 标签在 原始 中 我的新原版现在是 char neworiginal html c
  • 在 Visual Studio 中调试时访问异常中断过滤器的更好方法?

    我厌倦了在 Visual Studio 中使用令人眼花缭乱 耗时的 异常 对话框来打开和关闭异常中断过滤器 我寻找 Visual Studio 命令来帮助从命令窗口自动执行此操作 但没有成功 有没有人有一种技术可以避免 调试 gt 异常 对
  • 有效检查两个浮点值是否具有不同的符号

    我需要查找是否有两个有限浮点值A and B有不同的符号或其中之一为零 在许多代码示例中 我看到测试如下 if A lt 0 B gt 0 A gt 0 B lt 0 它工作正常 但对我来说看起来效率低下 因为这里验证了许多条件 并且每个条
  • SQL 查询返回几十年来的最大值

    这是使用 MYSQL我的问题如下 我有一个棒球数据库 在该棒球数据库中有一个主表 其中列出了曾经参加过比赛的每个球员 还有一个击球表 跟踪每个球员的击球统计数据 我创建了一个将这两者结合在一起的视图 因此masterplusbatting桌
  • 如何在 Django 模型中存储任意名称/值键对?

    我有一个包含很多数据字段的固定数据模型 class Widget Models model widget owner models ForeignKey auth User val1 models CharField val2 models
  • Python 中的硒

    我一直在使用 urllib2 访问网页 但它不支持 javascript 所以我看了一下 Selenium 但即使读了它的文档我也很困惑 我下载了适用于 Firefox 的 Selenium IDE 插件 并尝试了一些简单的操作 from
  • 如何将 C# 方法作为回调传递给 CLI/C++ 函数?

    我在 C CLI 中有这样的方法 void Foo OnEngineCloseCallback callback 具有这样的回调定义 typedef void OnEngineCloseCallback int String errorMe
  • SQL Server - 过去 12 个月的累计总和,但从上个月开始 (SQL Server 18)

    我需要计算过去 12 个月内某个值的累计总和 到目前为止 我的累积计算正在运行 但从当月开始 我需要过去 12 个月的总计 从从上个月开始 目前 我正在使用OVERSQL 子句 从当前行 月开始运行累积总计 请参考下面我的代码示例 SELE