我正在尝试基于动态滞后函数获得估价,我不会获得。我有一个看起来像这样的表,我想要的是序列号产品的值比我当前的序列号高1]
+--------+---------+--------+------------------------+----------+ | Client | Product | Ser_No | Product Ser_No+1 I get | Expected | +--------+---------+--------+------------------------+----------+ | 1 | A | 1 | B | B | +--------+---------+--------+------------------------+----------+ | 1 | B | 2 | C | C | +--------+---------+--------+------------------------+----------+ | 1 | C | 3 | D | F | +--------+---------+--------+------------------------+----------+ | 1 | D | 3 | E | F | +--------+---------+--------+------------------------+----------+ | 1 | E | 3 | F | F | +--------+---------+--------+------------------------+----------+ | 1 | F | 4 | null | null | +--------+---------+--------+------------------------+----------+ | 2 | D | 1 | E | E | +--------+---------+--------+------------------------+----------+ | 2 | E | 2 | F | G | +--------+---------+--------+------------------------+----------+ | 2 | F | 2 | G | G | +--------+---------+--------+------------------------+----------+ | 2 | G | 3 | H | H | +--------+---------+--------+------------------------+----------+ | 2 | H | 4 | I | I | +--------+---------+--------+------------------------+----------+ | 2 | I | 5 | null | null | +--------+---------+--------+------------------------+----------+
我唯一能想到的就是Lag(product,1),但这并不是我现在想要的。有什么想法吗?
这是我现在正在做的事情:
LEAD(Product, 1) OVER(PARTITION BY Cliënt ORDER BY Ser_No ASC)
但是问题是第3、4和8行。在这里,我需要的不是下一行的产品代码,而是下一个Ser_No的产品代码
我正在尝试基于动态滞后函数获得估价,我不会获得。我有一个看起来像这样的表,我想要的是序列号中乘积高1的产品的值...
我可能在这里使用lead
而不是lag
: