您可以使用以下查询:
SELECt RaidNo, OutComeID, RN, CASEWHEN OutComeID <> 16 THEN 0 ELSE ROW_NUMBER() OVER (PARTITION BY OutComeID, grp ORDER BY RN) END AS ResultFROM ( SELECt RaidNo, OutComeID, RN, RN - ROW_NUMBER() OVER (PARTITION BY OutComeID ORDER BY RN) AS grp FROM mytable) AS tORDER BY RN
字段
grp标识具有相同
OutComeID值的连续记录的切片(也称为孤岛)。外部查询用于
grp枚举属于
'16'切片的每个记录。属于其他切片的记录被分配了值
0。
演示在这里



