当前位置: 首页 > 面试题库 >

如何获得累计金额

邴景山
2023-03-14
问题内容
declare  @t table
    (
        id int,
        SomeNumt int
    )

insert into @t
select 1,10
union
select 2,12
union
select 3,3
union
select 4,15
union
select 5,23


select * from @t

上面的选择向我返回了以下内容。

id  SomeNumt
1   10
2   12
3   3
4   15
5   23

我如何获得以下信息:

id  srome   CumSrome
1   10  10
2   12  22
3   3   25
4   15  40
5   23  63

问题答案:
select t1.id, t1.SomeNumt, SUM(t2.SomeNumt) as sum
from @t t1
inner join @t t2 on t1.id >= t2.id
group by t1.id, t1.SomeNumt
order by t1.id

SQL Fiddle示例

输出

| ID | SOMENUMT | SUM |
-----------------------
|  1 |       10 |  10 |
|  2 |       12 |  22 |
|  3 |        3 |  25 |
|  4 |       15 |  40 |
|  5 |       23 |  63 |

编辑:这是一个通用的解决方案,将可在大多数数据库平台上使用。如果您的特定平台(例如gareth的)有更好的解决方案,请使用它!



 类似资料:
  • 我想在Spark中做累积和。以下是注册表(输入): 配置单元查询: 输出: 使用火花逻辑,我得到相同的输出: 然而,当我在spark cluster上尝试这个逻辑时,的值将是累积和的一半,有时它是不同的。我不知道为什么它会发生在spark cluster上。是因为分区吗? 如何计算spark cluster上一列的累积和?

  • 问题内容: 说我有一段距离。 我想从x到达总和达到10的索引,在这种情况下,idx = [4,9]。 因此,满足条件后,cumsum重新启动。 我可以使用循环来完成此操作,但是对于大型阵列而言,循环速度很慢,我想知道是否可以用某种方式来执行。 问题答案: 这是一个带有numba和数组初始化的代码- 时机 包括并使用同一篇文章中的基准测试设置- Numba:追加与数组初始化 为了更仔细地了解数组初始

  • 我们会不定期为用户提供各种额度的 DaoCloud 代金券,您获得代金券后,可以在 DaoCloud 充值使用。 您可以通过以下几种方式获得 DaoCloud 代金券: 参加各类线下活动,向 DaoCloud 展台工作人员索取 为我们提出有价值的产品反馈,或者出谋划策,介绍潜在客户,[联系] 帮助我们完善产品文档,点击右上角的 GitHub 链接,为我们的文档拾遗补缺,或者撰写简单易懂的例子

  • 我想知道如何计算的累计总和在AnyLogic中。具体地说,我有一个循环事件,每周改变一个参数的值。从这个参数我想计算它收到的值的累计总和,我怎么做呢? 该事件是循环模式的超时。操作是: "name_parameter"=圆形(max(正常(10,200),0));

  • 我有一个rdd(String,Int),它是按键排序的 现在,我想用零开始第一个键的值,并将后续键作为前一个键的和。 例如:c1=0,c2=c1的值,c3=(c1值c2值),c4=(c1..c3值)预期输出: 有可能做到这一点吗?我用地图试过了,但总和没有保存在地图里。

  • 由于hive只支持从类集中的子查询,如select*from(subquery),也只支持equjo,因此我们如何从表中计算累积工资,如表员工有记录如下。 因此输出应该如下所示 我怎么能在蜂巢里做到这一点