嗨,我一直在尝试监视蜂巢中列中原始值的偏差。例如:
column 1 tracking_column
6 0
6 0
6 0
5 -1
6 0
6 0
7 1
8 2
我一直在使用滞后函数,但这似乎只允许我跟踪从一行到下一行的更改并且不保持运行计数。因此,当数字从6增加到7然后再增加到8.滞后或领先我不认为在这种情况下会起作用。
任何提示赞赏。干杯
我想你想要first_value()
:
select col1, (first_value(col1) over (order by ?) - col1) as diff
from t;
?
是列的占位符,用于指定表的顺序。
你也可以使用cross join
:
select t.col1, (t.col1 - t1.col1) as diff
from t cross join
(select t.*
from t
order by ?
limit 1
) t1;