sql - 按日期访问累计总数
问题描述
我需要在在线日期之前显示我们所有能源项目的累积功率。
所以,如果一个项目在 2016 年上线,那么它也在 2017 年和 2018 年上线,应该计入这些总数。我基本上需要一张可以回答问题的表格
"What was our energy capacity as of 12/31/2016, 12/31/2017,etc"
我可以通过使用不同日期一遍又一遍地运行一个简单的查询来做到这一点,但理想情况下,我只运行一个查询并获得我需要的表。
我实际上并不知道如何用 SQL 编写代码,所以我只使用 Access 查询设计器,这可能会使事情变得更加困难。
得到我想要的简单查询:
SELECT Sum(Projects.[System Size AC]) AS [SumOfSystem Size AC]
FROM Projects
WHERE (((Projects.[Online Date])<#1/1/2018#));
出现错误的查询:
SELECT DSum([Projects]![System Size AC],[Projects],Year([Online Date])<=[Yr]) AS [Run Sum], Year([Online Date]) AS Yr
FROM Projects
GROUP BY Year([Online Date]);
我可以通过使用不同日期一遍又一遍地运行简单查询来做到这一点,但理想情况下,我会在在线日期列中获得一个包含所有年份的表,其中包含该年所有可用项目容量的累积总数
解决方案
您可以使用相关子查询来执行此操作:
SELECT Year(p.[Online Date]) as yr,
SUM(p.[System Size AC]) as this_year,
(SELECT SUM(p2.[System Size AC])
FROM Projects as p2
WHERE YEAR(p2.[Online Date]) <= YEAR(p.[Online Date])
) as running_sum
FROM Projects as p
GROUP BY Year([Online Date]);
推荐阅读
- python - 如何从不同的相关列中选择合适的行?(熊猫数据框)
- r - 您可以使用 r 将日期四舍五入到 1 日或 15 日吗?
- ios - 在横向模式下隐藏 NavigationView 栏并在 SwiftUI 中延迟隐藏
- c++ - 如何方便地构造一个指向具有单个元素的向量的 unique_ptr?
- php - 在 Laravel 上找不到类 - Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
- git - git repquest 中止“您对以下文件的本地更改将被合并覆盖”
- c++ - 遍历结构和类以查找价格最低的项目时出现问题。我的功能相反,它发现最昂贵
- python-3.x - 如何从其他文件写入fastq文件
- c# - 使用 PdfiumViewer 更改 HardMarginX 以打印 PDF 文件
- python - 在beautifulsoup中提取类中的类