【发布时间】:2021-12-25 03:52:34
【问题描述】:
我需要计算 [所选 YearMonth] 的每一行过去 12 个月的 [SALES]。例如,如果选择 202110,我知道在 202110 和 202011 之间我有一次销售,并且 202110 前面的 [HAD SALES] 应该显示 1,但是,如果选择 202008 并且我回顾过去 12 个月,则没有销售并且我的行应该显示 0。
我需要类似下面的语句,但我的语句中没有 where 子句或参数,但我不知道如何将它们放在一起。
SELECT
[SELECTED YEARMONTH],
(COUNT(SALES) FROM TABLE
WHERE [SELECTED YEARMONTH] BETWEEN [SELECTED PREVYEAR] AND [SELECTED YEARMONTH])
FROM
TABLE;
【问题讨论】:
-
你可以使用OLAP函数(windowing)ibm.com/docs/en/db2/11.1?topic=expressions-olap-specification看例子9:计算股票ABC和XYZ在2005年的30天移动平均线。