作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道一个计数的累加和是否可能。我想举的一个例子是今年影响美国的 Storm 。我想要一个列出 2014 年月份的结果集,以及直到那个月影响美国的 Storm 的累计总和。我希望得到 3 列的内容 - Month、NumberofStorms 和 CumulativeSum,如下所示:
Month NumberofStorms CumulativeSum
-----------------------------------------------
Jan 2 2
Feb 1 3
Mar 1 4
Apr 0 4
May 0 4
Jun 0 4
Jul 0 4
Aug 0 4
Sep 1 5
Oct 3 8
Nov 5 13
Dec 8 21
我怎样才能做到这一点?
最佳答案
您可以向 SUM()
添加一个窗口:
SELECT "Month"
,"NumberofStorms"
,SUM("NumberofStorms") OVER(ORDER BY "Month" ROWS BETWEEN unbounded preceding and current row) AS CumulativeSum
FROM Table1
演示:SQL Fiddle
注意:在演示中月份是按字母顺序排序的,因为它只是一个示例场景,所以没有输入实际日期。
更新:让我们假设基表只是 Month
和 StormName
,您需要一个 cte/子查询来首先获得一个计数,然后您可以在以上总计:
SELECT "Month"
,"NumberofStorms"
,SUM("NumberofStorms") OVER(ORDER BY "Month" ROWS BETWEEN unbounded preceding and current row) AS CumulativeSum
FROM (SELECT "Month",COUNT("Name") AS "NumberofStorms"
FROM Weather
GROUP BY "Month"
) AS Sub
关于sql - 累计计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22108767/
我对以下需要使用 SQL 查询而不是 plsql 来解决的问题感到困惑。这个想法是建立一个累积列来计算之前的所有月份。输入表看起来像 Month 1 2 3 .. 24 我需要建立下表:
我正在寻找一个整洁的解决方案,最好使用 tidyverse 这个问题符合this answer ,但它确实有一个额外的扭曲。我的数据有一个整体分组变量“grp”。在每个这样的组中,我想根据“试验”定义
我正在尝试在 Spotfire 中创建一个运行余额列,该列应该如下图所示。本质上,我想逐行计算“金额”列的累积总计,并且我希望它随着日期的变化从 0 开始。 我尝试过几个 OVER 函数:Sum([A
我是一名优秀的程序员,十分优秀!