在 SQL 中一次添加列的多个滞后

问题描述 投票:0回答:0

假设我有这个数据:

A.    B.  
1.    2
3.    4
5.    6
7.    8
9.    10

使用窗口函数,我可以轻松地将列的任何滞后添加到此数据中,例如,对于滞后 1,我这样做:

lag(A, 1, 0) over ( partition by B) as lag1 from myTable;

我可以将 1 更改为任何数字并添加任何其他滞后,但是我如何添加让我们同时说滞后 1,2 和 3。我的意思是,一种方法是将上述针对不同滞后的语句包含在内,用逗号分隔,但是如果我想针对 20 个滞后执行此操作,那么该方法不可扩展。

sql mysql partition
© www.soinside.com 2019 - 2024. All rights reserved.