我正在尝试根据不等于1000的最新代码更新一列,如果存在重复的1000个代码,则它们都应更改为不等于1000的最新代码。
在SQL Server 2012中,我尝试了lag语句,创建行ID并加入到相同的表-1行,两者均起作用,但问题是重复的。连续可以有1000个代码,但是我需要保留时间戳并将它们全部更改为不等于1000的最新代码。
SELECT
EqmtID
,Reason
,StartTime
FROM cyclesRID
产生:
EqmtID Reason StartTime
1903010010000030808 1007 23759
1903010010000030808 1005 24965
1903010010000030808 1000 25382
1903010010000030808 1000 26078
1903010010000030808 1000 27180
1903010010000030808 1000 27761
1903010010000025572 1004 8601
我需要编辑select语句以产生:
EqmtID Reason StartTime
1903010010000030808 1007 23759
1903010010000030808 1005 24965
1903010010000030808 1005 25382
1903010010000030808 1005 26078
1903010010000030808 1005 27180
1903010010000030808 1005 27761
1903010010000025572 1004 8601
也按EqmtID进行分区,如果分区的第一行有1000个代码,则应更改为1001。
如果我在Python中执行此操作,我将使用仅在不等于1000时才更新的变量。在SQL中可以执行类似的操作吗?