我希望将我的数据分组连续几个月,以便对趋势进行概述。
数据是这样的:
所需(输出)分组如下:
在这里,我希望仅在连续3个月存在适当的分组时才会显示这些值(这可能会像连续2个月或4个月那样变化),但是当数据中缺少任何月份值时,不会出现任何情况
例如:用户1的值在2018-01这个月,但本月的最终所需输出中没有可用的分组,因为2017-11中没有值2018-01或2017-12至2018-02或2018-01至2018-03本月分组。
答案 0 :(得分:0)
select user, month, month_2, value_3
from (select t.*,
lead(month, 2) over (partition by user order by month) as month_2,
(sum(value) +
lead(value) over (partition by user order by month) +
lead(value, 2) over (partition by user order by month)
) as value_3
from t
) t
where month_2 = add_months(month, 2);