【发布时间】:2019-12-16 19:13:10
【问题描述】:
问题:在查询方面需要帮助以显示为 3 个月的滚动平均值
这是我目前拥有的
SELECT
Date,
month(date) AS[Month],
year(date) AS[Year],
AVG(ALL Amount) OVER (PARTITION BY Date ORDER BY Date ASC) AS Average
FROM
FactFinance
SELECT
YEAR(Date) AS Year,
MONTH(Date) AS Month,
AVG(Amount) AS AvgAmt
FROM
FactFinance
GROUP BY
YEAR(Date),
MONTH(Date)
ORDER BY
Year,
Month;
GO;
【问题讨论】:
-
请添加一些示例数据和预期结果。最好采用 DDL/DML 语句的形式,以便轻松复制和粘贴。
-
但绝对不是图片...
-
对不起,那我不知道你需要什么。
-
DDL/DML 语句是
create table和insert into table即您提供代码来构建数据以用于测试您的查询 - 因为否则您要求我们这样做。但是,另一种方法是将数据作为文本发布,以便可以复制和粘贴。您只需要查看其他几个 SO 问题即可了解这是如何完成的。 -
@Dale Burrell 表来自 AdventureworksDW2016CPT3,但可能任何最新版本的 Adventureworks 数据仓库都可以——它可能比 OP(包含 34000 多行)创建测试数据和问题在于第一个查询。
标签: sql-server rolling-computation rolling-average