我对SQL一无所知。我目前有一个查询,给我这个。按周/期间/年按渠道/等(请注意,这是一个非常简化的版本,还有更多字段)的某些产品的销售情况:
基本上,我需要添加一栏来提供前一年的销售额。基本上,将表转换如下。在Excel中,这将是一个简单的摘要,除了上一年即一年之外,其总和将完全相同。
是否可以在SQL中执行此操作?数据集太大,无法在Excel中执行。
答案 0 :(得分:0)
我认为您只想要lag()
:
select t.*,
lag(sales) over (partition by channel, product, weekno order by yearno) as prev_sales
from t;
如果我了解数据,则periodno
对weekno
来说是多余的。