作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个表格,按日期保存累计金额的值,例如:
| date. | |
| 2015-03-01 | 1.23 |
| 2015-03-04 | 1.98 |
| 2015-03-06 | 2.23 |
And we have a table with all dates we need, for instance:
| date. |
| 2015-03-01 |
| 2015-03-02 |
| 2015-03-03 |
| 2015-03-04 |
| 2015-03-05 |
| 2015-03-06 |
We would like to get:
| date. | |
| 2015-03-01 | 1.23 |
| 2015-03-02 | 1.23 |
| 2015-03-03 | 1.23 |
| 2015-03-04 | 1.98 |
| 2015-03-05 | 1.98 |
| 2015-03-06 | 2.23 |
是否可以仅使用 SQL 本身?
我很难弄清楚如何做到这一点。
我尝试了一些交叉连接操作,但没有成功。
谢谢
最佳答案
SELECT
[date],
amount
FROM (
SELECT
[date],
amount,
ROW_NUMBER() OVER(PARTITION BY [date] ORDER BY delta) AS win
FROM (
SELECT
dates_table.date AS [date],
DATEDIFF(TIMESTAMP(dates_table.date), TIMESTAMP(amounts_table.date)) AS delta,
amount
FROM amounts_table CROSS JOIN dates_table
WHERE DATEDIFF(TIMESTAMP(dates_table.date), TIMESTAMP(amounts_table.date)) >= 0
)
)
WHERE win = 1
ORDER BY 1
关于sql - 按日期累计金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34394157/
我对以下需要使用 SQL 查询而不是 plsql 来解决的问题感到困惑。这个想法是建立一个累积列来计算之前的所有月份。输入表看起来像 Month 1 2 3 .. 24 我需要建立下表:
我正在寻找一个整洁的解决方案,最好使用 tidyverse 这个问题符合this answer ,但它确实有一个额外的扭曲。我的数据有一个整体分组变量“grp”。在每个这样的组中,我想根据“试验”定义
我正在尝试在 Spotfire 中创建一个运行余额列,该列应该如下图所示。本质上,我想逐行计算“金额”列的累积总计,并且我希望它随着日期的变化从 0 开始。 我尝试过几个 OVER 函数:Sum([A
我是一名优秀的程序员,十分优秀!