我需要获得同一列上的行之间的差异。我可以使用lag()但是如何获得像pic的结果,如果名称改变了,那么开始计算为新的
答案 0 :(得分:0)
这样的事情:
select t.*,
(call_received -
lag(call_received, 1, 0) over (partition by agent_name order by id)
) as delta
from t;
请注意,这使用了很少见的三参数形式的lag()
。