LAG (RegisterReading,1) OVER (PARTITION BY Mpancore ORDER BY meterserialnumber, MeterRegisterId) as LagFunc
任何人都请帮忙。 感谢
大家好,我已使用添加到报告中的所有键更新了报告,
我已经将它用作met_reg_read
和mpan
作为组合分区,但它似乎没有获得557
和{{1}中lag func
之类的某些内容。 }}
lagtest看起来像这样
lag test
LAG (d.RegisterReading,1,0) over (partition by Mpan, met_reg_read order by d.met_reg_read )
没有默认值0
链接到新输出
答案 0 :(得分:6)
这不是随机值。它是一个值,显示在具有相同Mpancore
值的某处。在这种情况下,它是最后一个值。
您遇到的问题是order by
子句有两个键,这些键具有重复值。因此,具有相同值的键的排序是任意或 indeterminate (但不是 random ,这具有其他含义)。
我不确定你想做什么,但我强烈建议使用一组独特的键(因此排序稳定)。我想你可以通过加入RegisterReading
:
LAG(RegisterReading, 1) OVER (PARTITION BY Mpancore
ORDER BY meterserialnumber, MeterRegisterId, ReadingDateAndTime
) as LagFunc
这仍然不完美,因为仍有NULL
个重复值。