SQL Server 按组累计总和

2024-01-15

我有一个以下格式的表(SQL Server 2005):

dummy_id、注册日期、item_id、数量、价格

我想添加一个新列(累计),它按 date_registered 计算每个 item_id 订单的累计总计,如下所示:

dummy_id  date_registered  item_id  quantity    price   cumulative

1           2013-07-01        100      10        34.5       10

2           2013-07-01        145       8        2.3         8

3           2013-07-11        100      20        34.5       30

4           2013-07-23        100      15        34.5       45

5           2013-07-24        145      10        34.5       18

提前感谢


在 SQL Server 2005 中,我将使用相关子查询来执行此操作:

select dummy_id, date_registered, item_id, quantity, price,
       (select sum(quantity)
        from t t2
        where t2.item_id = t.item_id and
              t2.date_registered <= t.date_registered
       ) as cumulative
from table t;

如果您确实想将其添加到表中,则需要更改表以添加该列,然后进行更新。如果表有插入和更新,您将需要添加触发器以使其保持最新。通过查询获取它肯定更容易。

在 SQL Server 2012 中,您可以使用以下语法来执行此操作:

select dummy_id, date_registered, item_id, quantity, price,
       sum(quantity) over (partition by item_id order by date_registered) as cumulative
from table t;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 按组累计总和 的相关文章

  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • SQL Server 2008R2 和创建 XML 文档

    论坛上的第一篇文章 因为我真的被这个问题困住了 以下查询正确地将有效的 XML 文档分配给 xTempXML 变量 类型为 xml 注 文档的长度 转换为varchar max 711 select xTempXML select Pres
  • Oracle:如何获取刚刚插入的行的序列号?

    如何获取刚刚插入的行的序列号 插入 返回 declare s2 number begin insert into seqtest2 x values aaa returning seq into s2 dbms output put lin
  • 通过 osql.exe 运行脚本时出现问题

    我尝试以这种格式运行我的软件的更新脚本 osql exe i path to script U 用户 P 密码 S sqlserver 位置 d 数据库名称 n b 大多数脚本的格式相同 并且都以 GO 结尾 其中很多都运行得很好 但随机脚
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 同一索引操作上的不同估计行?

    简介和背景 我必须优化一个简单的查询 下面的示例 重写几次后 我认识到同一个索引操作的估计行数会根据查询的编写方式而有所不同 最初 该查询执行了聚集索引扫描 因为生产中的表包含二进制列 该表相当大 大约 100 GB 并且全表扫描执行起来需
  • 在存储过程中验证用户的最简单方法?

    我需要一个存储过程 可以通过发送以下内容来检查登录尝试时他们是否是有效用户login and password查看它们在数据库中是否匹配 有没有一种简单的方法可以做到这一点 如果没有更多信息 我目前能提供的最好信息是 CREATE STOR
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • SQL Server 数据库架构版本控制和更新

    对于我的应用程序 我必须支持更新方案 并且数据库可能会受到影响 我希望能够从旧版本更新到最新版本 而无需安装中间版本 例如 假设我有版本 A 最旧的版本 B 中间版本 和 C 新版本 我希望能够将版本 A 直接更新到版本 C 对于应用程序文
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q

随机推荐

  • Excel VBA:将计算结果数组作为参数传递给函数

    我有一个接受数组的 VBA 函数 如果我向它传递一个引用 例如A1 A10 它不接受 公式 参数 例如A1 A10 1 or A1 A10 2 生成的单元格包含 VALUE 许多Excel函数都支持这一点 例如linest 我可以编写以下公
  • 如何解决 R Markdown (Knit)“‘closure’不可子集化”?

    我第一次尝试使用 RMarkdown Knit 来生成 pdf 默认文件 文件 gt 新建文件 gt R Markdown 运行良好 它显示编译时生成的 pdf 例如 运行以下代码 r cars summary cars 但是 如果我只是用
  • Meteor collection.insert回调问题

    根据 Meteor 文档 collection insert doc callback callback功能 选修的 如果存在 则使用错误对象作为第一个参数和 id 作为第二个参数进行调用 然后往下 在服务器上 如果您不提供回调 则插入块直
  • Unity单例代码

    我是新来的Unity http unity codeplex com 我正在尝试编写一些 Unity 逻辑来初始化和注册 解析 Email 对象的单例实例 以便它可以在多个其他对象中使用 下面的一个示例是 OperationEntity 因
  • Microsoft.ML 和 Xamarin

    Microsoft ML 在 Xamarin 中工作吗 我已经关注了许多教程和视频https dotnet microsoft com learn ml dotnet https dotnet microsoft com learn ml
  • 如何使用JAVA从html页面获取表格

    我正在开发一个项目 尝试从互联网获取财务报表并在 JAVA 应用程序中使用它们来自动创建比率和图表 我正在使用的网站使用登录名和密码才能进入牌桌 标签是 TBODY 但 html 中还有另外 2 个 TBODY 如何使用 java 将表打印
  • Matplotlib - 添加与轴底部对齐的标签

    我想向图表上的垂直线添加标签 本例中为洋红色线 TEXT TO GO HERE 问题是我不知道 Y 轴的最小值 因为该轴是自动的 并且 text 函数需要 x 和 y 值 我希望能够将文本与图的底部对齐 或者找到最小 Y 轴值 在本例中 m
  • 如何在应用程序中的所有类之间共享数组?

    我想共享一个数组 所有类都可以 获取 和 更改 该数组内的数据 类似于全局数组或多路访问数组 这如何通过 ActionScript 3 0 实现 有几种方法可以解决这个问题 一种是使用全局变量 如 unkiwii 的答案中所建议的 但这在
  • 在终端中运行每个命令后看到“致命:拒绝将 HEAD 指向 refs/ 之外”

    我已经几周没有使用终端了 在运行 Brew Upgrade 来升级 更新我的所有软件包后 我开始在运行每个命令后看到 致命 拒绝将 HEAD 指向 refs 之外 我不太熟悉终端或 Git 所以我不知道这意味着什么 请提供一些建议 场景来解
  • 错误:当我用 gradle 中的实现替换编译时(依赖项)

    我将 Android Studio 从 3 0 1 更新到 3 1 0 但更新后 当我构建我的项目时 它显示2 警告 1 用实现代替编译 编译支持将于 2018 年底结束 2 将 testCompile 替换为 testImplementa
  • 火花作业卡桑德拉错误

    每次我使用 cassandra 连接器在 Spark 中运行 scala 程序时都会收到此错误 Exception during preparation of SELECT count FROM eventtest simpletbl WH
  • 如何将 useRef 与 Typescript/Formik 一起使用?

    我正在通过一个ref属性到我的自定义 FieldInput 中 我使用它来验证表单的 Formik 然而 它给出了一些 Typescript 错误 例如 在我的函数中 const handleSubmitForm values FormVa
  • 错误:找不到模块“index”\n需要堆栈:\n- /var/runtime/index.mjs

    我正在尝试通过 CDK 部署在打字稿中实现的 lambda 我能够成功部署 lambda 但是当我测试它时 出现以下错误 errorType Runtime ImportModuleError errorMessage Error Cann
  • 将图像作为二进制数据写入文本文件 C#

    我需要创建一个文件 将图像作为文本嵌入到某些记录中 我在将图像写入文本时遇到一些问题 我正在做的是将图像作为字节数组从 SQL 数据库 图像类型 收集 然后通过遍历每个字节并将该字节的 ASCII 等效项写入该文件 将该图像写入文本文件 在
  • 尝试比较两个分布

    我在互联网上找到了这段代码 它将正态分布与不同的学生分布进行了比较 x lt seq 4 4 length 100 hx lt dnorm x degf lt c 1 3 8 30 colors lt c red blue darkgree
  • 有人将 WPF 用于真正的 LOB 应用程序吗?

    有人将 WPF 用于真正的 LOB 应用程序吗 我们都看过 WPF 的巧妙演示 展示了映射到 3D 元素的视频 这些看起来很棒 但构成大多数开发人员努力的业务线应用程序的现实世界又如何呢 WPF 仅仅是为了美观吗 当我们讨论它时 聪明人正在
  • 将文本框中的数据显示到 wpf 中的列表视图中

    我有一个 C 项目 XAML 代码
  • 如何阻止无人值守升级升级我自定义安装的 Debian 软件包?

    我自定义编译了我自己的 ffmpeg 版本 并从此包中制作了一个 deb 文件 封装说明如下 control txt Package ffmpeg Version 4 3 ubuntu1804 hwaccel cuda 20200806 A
  • 当用户按回键时取消正在进行的连接

    我一直在搜索这个问题 但没有找到我的具体问题 我明白那个AskyncTask可以使用取消 cancel true 但这仅当我有一个可以检查值的循环时才会发生isCanceled 但我的问题是 我怎样才能取消AsyncTask 即卡在http
  • SQL Server 按组累计总和

    我有一个以下格式的表 SQL Server 2005 dummy id 注册日期 item id 数量 价格 我想添加一个新列 累计 它按 date registered 计算每个 item id 订单的累计总计 如下所示 dummy id